Учение Symfony2: генерировать: сущности выбрасывают синтаксическую ошибку - PullRequest
7 голосов
/ 14 февраля 2012

когда я использую оболочку symfony2 и пытаюсь запустить

doctrine:generate:entities [MyBundle] --path='src' 

или

doctrine:generate:entities [MyBundle] 

я получилэта ошибка

[Syntax Error] Expected Doctrine\Common\Annotations\DocLexer::T_CLOSE_CURLY_BRACES, got '@' at position 255 in property

поэтому, пожалуйста, какие-либо решения ??

заранее спасибо

Ответы [ 2 ]

30 голосов
/ 15 февраля 2012

Я также столкнулся с этой ошибкой. Это просто опечатка в одной из ваших аннотаций сущностей. Быстрая проверка ваших сущностей покажет что-то вроде этого:

/**
 * @ORM\Id
 * @ORM\Column(type="integer"              // note the missing close parentheses
 * @ORM\GeneratedValue(strategy="AUTO")
 */
protected $id;

Принимая во внимание номер строки, он, вероятно, находится где-то в одном из ваших сопоставлений сущностей.

8 голосов
/ 04 декабря 2013

Так же, как говорит кантера, проверьте фигурные скобки.

Вот некоторые из ошибок аннотации Symfony:

Запятая

  • Пример кода: @ORM \ Column (name = "column_name" type = "string" length = 20 nullable = false)
  • Сообщение об ошибке: [Синтаксическая ошибка] Ожидаемое Doctrine \ Common \ Annotations \ DocLexer :: T_CLOSE_PARENTHESIS, получено 'type' в позиции 62 в свойстве ...

Использование неправильного типа

  • Пример кода: @ORM \ Column (name = "column_name", type = "string", length = "20", nullable = false)
  • Сообщение об ошибке: [Тип ошибки] Атрибут "длина" @ORM \ Столбец объявлен в свойстве ...
...