小编Sha*_*rop的帖子

PHP名称空间和"使用"

我在命名空间和use语句方面遇到了一些麻烦.

我有三个文件:ShapeInterface.php,Shape.phpCircle.php.

我试图使用相对路径这样做,所以我把它放在所有类中:

namespace Shape; 
Run Code Online (Sandbox Code Playgroud)

在我的圈子课程中,我有以下内容:

namespace Shape;
//use Shape;
//use ShapeInterface;

include 'Shape.php';
include 'ShapeInterface.php';    

class Circle extends Shape implements ShapeInterface{ ....
Run Code Online (Sandbox Code Playgroud)

如果我使用include语句,我没有错误.如果我尝试use我得到的陈述:

致命错误:第8行的/Users/shawn/Documents/work/sites/workspace/shape/Circle.php中找不到类'Shape\Shape'

有人可以就这个问题给我一些指导吗?

php namespaces

107
推荐指数
2
解决办法
18万
查看次数

如何在 PyCharm 中禁用用户名注释

我不确定这是一个更新还是我启用了一个设置,但我看到我的代码用与代码内联的 git Blame 用户名进行了注释。

git Blame 操作表示它已关闭。

当我单击用户名时,包含行号的列将展开并显示时间戳。

如何禁止用户名出现?

内联用户名

点击后

点击后

annotations pycharm git-blame

32
推荐指数
2
解决办法
5848
查看次数

Symfony2 Doctrine2多对多形式不保存实体

我与多对多的关系遇到了一些麻烦.我有UsersAssets.我希望能够将用户分配到资产页面上的资产.

下面的代码显示创建/编辑资产时的用户列表,但是对用户复选框所做的更改不会保存,而其余数据会保留.

如果我通过mysql客户端向users_assets添加条目,则这些更改将显示在资产列表中.

用户

class User extends BaseUser
{
    /**
     * @ORM\ManyToMany(targetEntity="Asset", inversedBy="users")
     */
    private $assets;
}
Run Code Online (Sandbox Code Playgroud)

财富

class Asset
{
    /**
     * @ORM\ManyToMany(targetEntity="User", mappedBy="assets")
     */
    private $users;
}
Run Code Online (Sandbox Code Playgroud)

AssetType

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $form = $builder
        ->add('users', null, array(
            'expanded' => true,
            'multiple' => true
        ))
        ->getForm();

    return $form;
}
Run Code Online (Sandbox Code Playgroud)

forms many-to-many symfony doctrine-orm

21
推荐指数
3
解决办法
2万
查看次数

Angular2为什么我们需要es6-shim

遵循Angular2快速入门指南,我们被指示包括es6-shim2个地方:

1) index.html

<script src="node_modules/es6-shim/es6-shim.min.js"></script>

2) typings.json

"ambientDependencies": {
  "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2"
}
Run Code Online (Sandbox Code Playgroud)

我的印象是我们正在编写es6代码es5.

配置 tsconfig.json

{
  "compilerOptions": {
    "target": "es5",
    ...
Run Code Online (Sandbox Code Playgroud)

如果最终结果是浏览器正在加载es5,为什么浏览器需要垫片es6

es6-shim angular

20
推荐指数
2
解决办法
2万
查看次数

Symfony2 Swiftmailer没有发送

我在使用symfony2和swiftmailer发送电子邮件时遇到问题.我对如何调试此问题也有点迷失.下面是代码.首先,我正在创建一个要显示的表单.在提交(request-> method == post)后,我尝试发送电子邮件.我没有收到任何错误,它将我带到了谢谢你的页面,但是,我没有收到任何电子邮件.我已经测试了prod和dev.在开发中,我在提交后打开了探查器,它显示了0封电子邮件.任何帮助表示赞赏!谢谢!

public function contactAction(Request $request)
{
    $defaultData = array('name' => 'Name', 'email' => 'Email', 'subject' => 'Subject', 'message' => 'Message');
    $form = $this->createFormBuilder($defaultData)
        ->add('name', 'text')
        ->add('email', 'email')
        ->add('subject', 'text')
        ->add('message', 'textarea')
        ->getForm();

    if($request->getMethod() == 'POST') {
        $form->bindRequest($request);
        $data = $form->getData();
        $message = \Swift_Message::newInstance()
            ->setSubject($data['subject'])
            ->setFrom('no-reply@mysite.com')
            ->setTo('email@mysite.com')
            ->setBody($this->renderView('AdaptiveSiteBundle:Default:email.txt.twig', array('name' => $data['name'], 'message' => $data['message'])))
        ;
        $this->get('mailer')->send($message);

        return $this->redirect($this->generateUrl('thankyou'));
    } 

    return array("form" => $form->createView());
}
Run Code Online (Sandbox Code Playgroud)

swiftmailer symfony

19
推荐指数
5
解决办法
4万
查看次数

GIT - Rebase - 如何处理冲突

我正在开发一个有两个分支的项目:masterfeature

feature分支是在不久前创建的,并且有很多提交.

feature创建分支以来,已经有几个提交master

此时,当我离开rebase时,master我会发生冲突.我解决它们然后rebase --continue.然后我再次得到冲突,并再次解决和rebase --continue.这种情况反复发生,很多时候看起来它们都是出现的相同冲突.

在我看来,这是正在发生的事情:

master(commits)->a->b feature(commits)->c->d->e->f->g

feature分支master->a,然后所有提交都创建.

rebase它重新回到开始feature分支的开始master应用master->b,然后开始应用feature->c此时它有冲突.我决定(接受master更改)并继续.现在它尝试应用feature->d并发现相同的冲突.我必须再次解决这个问题continue.这种情况一再发生.

例如,以下是更改:

master->a
    <div id="foo">

master->b
    <div id="bar">

feature->c
    <div id="fubar">

feature->d
    //Nothing has changed, inherited from feature->c
    <div id="fubar">
Run Code Online (Sandbox Code Playgroud)

我假设,当它到达feature->c它说改foofubar,然后它注意到foo已经改变bar.我决心bar然后它做同样的逻辑应用feature->d

我的两个问题: …

git conflict rebase

7
推荐指数
2
解决办法
6941
查看次数

React Navigation - 导航并设置后退按钮的历史记录

我有一个使用react-navigation@5.1的react-native应用程序

我有一个带有多个选项卡的 TabNavigator(嵌套在堆栈导航器内)。每个选项卡都包含另一个 StackNavigator。这些选项卡堆栈之一具有列表屏幕和详细信息屏幕。

该应用程序设置为当应用程序在后台时接收推送通知。当用户按下推送通知时,它会打开应用程序并将其导航到详细信息/:id 屏幕。

问题是,如果用户尚未位于列表屏幕上,则后退按钮没有正确的历史记录并且不会出现。

我将如何确保详细信息屏幕的后退按钮始终将用户带到列表屏幕?

这是我的嵌套导航器的描述

<NavigationContainer>
 <Stack.Navigator>
    <Stack.Screen name="loading">
    <Stack.Screen name="auth">
    <Stack.Screen name="app">
      <Tabs.Navigator>
         <Tabs.Screen name="community">
           <Stack.Navigator>
              <Stack.Screen name="list">.  <- list
              <Stack.Screen name="detail"> <- detail
           </Stack.Navigator>
         </Tabs.Screen>
         <Tabs.Screen name="profile">
           <Stack.Navigator>
              <Stack.screen name="edit">  <- user may already be on this screen
              ...
           </Stack.Navigator>
         </Tabs.Screen>
         ... more tabs and stacks
    </Stack.Screen>
 </Stack.Navigator>
</NavigationContainer>
Run Code Online (Sandbox Code Playgroud)

每当用户收到推送通知时,他们就已经位于选项卡导航器内的堆栈导航器之一上。同样,问题是用户可能位于个人资料选项卡内的编辑屏幕上。我需要将它们重定向到社区选项卡的详细信息屏幕,但确保历史记录包含后退功能的列表屏幕。

reactjs react-native react-navigation

7
推荐指数
1
解决办法
8040
查看次数

Symfony2 Doctrine2反序列化和合并实体问题

我试图将json反序列化为实体,然后合并实体.

我相信我过去有这个工作,我会发送ID和我希望更新的任何字段.例如:

在我的DB中:

| id |  first  | last  |   city   |
|  1 |  Jimmy  | James | Seattle  |
Run Code Online (Sandbox Code Playgroud)

然后我将反序列化以下json并合并实体

$json = { "id" : 1, "city": "chicago"}
$customer = $serializer->deserialize($json, 'App\CustomerBundle\Entity\Customer', 'json');
$em->merge($customer);
Run Code Online (Sandbox Code Playgroud)

预期的结果将是:

| id |  first  | last  |   city   |
|  1 |  Jimmy  | James | Chicago  |
Run Code Online (Sandbox Code Playgroud)

但是我得到以下内容:

| id |  first  | last  |   city   |
|  1 |  null   | null  | Chicago  |
Run Code Online (Sandbox Code Playgroud)

就像我说的,我相信我在某些时候有这个工作,我不确定这是否与jms_serializeror有关em->merge.

$customer->getFirst() …

json symfony doctrine-orm jms-serializer

5
推荐指数
1
解决办法
5265
查看次数

htaccess - 页面没有正确重定向

我接管了一个网站,并试图强制使用 https。我已将以下内容添加到我的 .htaccess 文件中:

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L]
Run Code Online (Sandbox Code Playgroud)

文件的其余部分如下所示:

RewriteCond %{REQUEST_FILENAME} !^(.*)/audio_recording/(.*)$
RewriteCond %{REQUEST_FILENAME} !^(.*)/bwcheck/(.*)$
RewriteCond %{REQUEST_FILENAME} !^(.+)/page\.php$
... lots of Conditions
RewriteRule ^(.*)\.* page.php?$1 [L]
IndexIgnore *
Run Code Online (Sandbox Code Playgroud)

当我添加 https 重定向时,出现以下错误:

页面未正确重定向 Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。

和铬:

此网页有重定向循环...

但是,该 url 已更新为 https。

编辑:

这是 .htaccess 文件的开头:

php_value memory_limit 64M

<Files .htaccess>
order allow,deny
deny from all
</Files>

DirectoryIndex index
Options +FollowSymlinks
RewriteEngine on
RewriteBase /

ErrorDocument 404 /web/content/content/404.php
Run Code Online (Sandbox Code Playgroud)

.htaccess

3
推荐指数
1
解决办法
7230
查看次数

Ansible aws_ec2广告资源插件问题

我正在尝试开始使用Ansible和aws_ec2插件。

我的./ansible.cfg文件中包含以下内容:

[inventory]
enable_plugins = aws_ec2
Run Code Online (Sandbox Code Playgroud)

以及我./inventory.yml文件中的以下内容:

plugin: aws_ec2
aws_access_key_id: **********
aws_secret_access_key: **********
regions:
    - us-east-2
Run Code Online (Sandbox Code Playgroud)

当我运行时ansible-inventory -i inventory.yml --graph,出现以下错误:

inventory.yml did not meet aws_ec2 requirements, check plugin documentation if this is unexpected

amazon-ec2 ansible ansible-inventory

2
推荐指数
1
解决办法
625
查看次数

Symfony SonataAdmin 模板

我正在尝试修改 SonataAdmin 模板。我有一个具有路径属性的 Image 实体。我创建了一个 ImageAdmin 类,并将其集成到 SonataAdmin 中。我想修改 admin-list-view 以将路径包装在 img 标签中,以便实际显示图像。有谁知道我怎么能做到这一点?

谢谢!

symfony symfony-sonata

1
推荐指数
1
解决办法
3567
查看次数

Symfony2 Twig加载模板

我在告诉twig要加载哪个模板时遇到一些麻烦.

我有一个位于MyBundle/Resources/Views/Admin/Project/list.html.twig的文件

当我声明:return' MyBundle:Admin:Project:list.html.twig'我收到以下错误:

Unable to find template 
Run Code Online (Sandbox Code Playgroud)

如果我将文件移出Project目录,即MyBundle/Admin/list.html.twig声明:return 'MyBundle:Admin:list.html.twig'模板已呈现.我错过了什么吗?

谢谢!

symfony twig

1
推荐指数
1
解决办法
2214
查看次数

Symfony2 - StofDoctrineExtensionBundle

我已经安装了StofDoctrineExtensionsBundle并且无法使其正常工作.

这是我的composer.json配置:

.....
"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.2.*",
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "1.2.*",
    "twig/extensions": "1.0.*",
    "symfony/assetic-bundle": "2.1.*",
    "symfony/swiftmailer-bundle": "2.2.*",
    "symfony/monolog-bundle": "2.2.*",
    "sensio/distribution-bundle": "2.2.*",
    "sensio/framework-extra-bundle": "2.2.*",
    "sensio/generator-bundle": "2.2.*",
    "jms/security-extra-bundle": "1.4.*",
    "jms/di-extra-bundle": "1.3.*",
    "friendsofsymfony/user-bundle": "*",
    "doctrine/doctrine-migrations-bundle": "dev-master",
    "stof/doctrine-extensions-bundle": "~1.1@dev"
},
....
Run Code Online (Sandbox Code Playgroud)

我在appKernel中添加了bundle:

new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),

我在config.yml中添加了以下内容:

stof_doctrine_extensions:
    default_locale: en_US
    orm:
        default:
            sluggable: true
            sortable: true
Run Code Online (Sandbox Code Playgroud)

这是我的实体:

<?php

namespace SixString\PearBundle\Entity;

use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="icon")
 * @ORM\HasLifecycleCallbacks()
 */
class Icon
{

....(other properties and getters/setters)

/** …
Run Code Online (Sandbox Code Playgroud)

symfony stofdoctrineextensions

0
推荐指数
1
解决办法
2827
查看次数