Генерируемые сущности по доктрине для пользовательского интерфейса кажутся неправильными в symfony2

Я просмотрел документацию и хотел добавить своего собственного провайдера пользователя (просто для понимания дыры)
Класс просто называется Аккаунт и нет пользователя

Я сделал это так, как сказано в документации:
http://symfony.com/doc/current/cookbook/security/entity_provider.html

После звонка
php app/console doctrine:generate:entities BaseBundle/Entity/Account Методы получения и установки были созданы.

Я редактировал security.yml файл и посмотрел на интерфейс.
FatalErrorException в строке Account.php 243:
Ошибка разбора: синтаксическая ошибка, неожиданное ‘$’, ожидаемая переменная (T_VARIABLE) ´´

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

return $this;
}

Почему это создается доктриной?
Там не было переменной «0»

Когда я удаляю геттер и сеттер для 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;

0

Решение

Хорошо, я не знаю, как это случилось, но:
Я нашел файл Resources/config/doctrine/Account.orm.yml
Я не знаю, когда это было сгенерировано, но было поле «0».
Я удалил файл и снова запустил генерацию геттера и сеттера.
Это работало нормально.

Но спасибо @Andariel за попытку найти мою ошибку!

1

Другие решения

Других решений пока нет …