用户界面的学说生成的实体在symfony2中似乎是错误的

时间:2015-04-08 07:18:09

标签: php symfony doctrine-orm doc

我查看了想要添加自己的用户提供程序的文档(只是为了解洞内容) 类叫做帐户而没有用户

所以我就像文件说的那样做了: http://symfony.com/doc/current/cookbook/security/entity_provider.html

打电话后      php app/console doctrine:generate:entities BaseBundle/Entity/Account创建了getter和setter方法。

我编辑了security.yml文件并查看了界面。     Account.php第243行中的FatalErrorException:     解析错误:语法错误,意外的'$',期望变量(T_VARIABLE)''

public function set0($0)
{
    $this->0 = $0;

    return $this;
}

为什么这是由Doctrine生成的? 没有变量“0”

当我将getter和setter删除为0时,新错误是: Property Runalyze\BaseBundle\Entity\Account::$0 does not exist 我认为在这种情况下0,当我没有通过身份验证时?

刚开始使用symfony2并希望了解这一点。 我错了什么? 运行版的symfony是2.6

对于最后一次“错误”堆栈跟踪 at ReflectionProperty ->__construct ('Runalyze\BaseBundle\Entity\Account', '0') in vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php at line 82 at RuntimeReflectionService ->getAccessibleProperty ('Runalyze\BaseBundle\Entity\Account', '0') in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php at line 893 at ClassMetadataInfo ->wakeupReflection (object(RuntimeReflectionService)) in vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php at line 537

类属性     // Runalyze / BaseBundle / Entity / Account.php     命名空间Runalyze \ BaseBundle \ Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;

/**
 * @ORM\Table(name="app_account")
 *     @ORM\Entity(repositoryClass="Runalyze\BaseBundle\Entity\AccountRepository")
 */
class Account implements UserInterface, \Serializable
{
/**
 * @ORM\Column(type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @ORM\Column(type="string", length=25, unique=true)
 */
private $username;

/**
 * @ORM\Column(type="string", length=64)
 */
private $password;

/**
 * @ORM\Column(type="string", length=60, unique=true)
 */
private $email;

/**
 * @ORM\Column(name="is_active", type="boolean")
 */
private $isActive;

1 个答案:

答案 0 :(得分:1)

好的,我不知道是怎么回事,但是: 我找到了一个文件Resources/config/doctrine/Account.orm.yml 我不知道什么时候生成这个,但是有一个“0”字段。 我删除了文件并再次运行getter和setter的生成。 这很好。

但感谢@Andariel试图找到我的错误!