2012-02-14 4 views
4

, когда я использую Symfony2 оболочку и пытается запустить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

проверить синтаксис ваших аннотаций? – meze

ответ

22

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

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

Принимая во внимание число линий, это, вероятно, где-то в одном из ваших отображений ассоциации сущностей.

6

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

Вот некоторые из ошибок аннотаций фреймворка:

Запятая

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

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

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