Ошибка анализа доктрины при обновлении автоматически сгенерированного файла

Во-первых, я создал файл сущности с помощью консольных команд doctrine

php bin/console doctrine:mapping:import MyBundle annotation --filter=TblMyTable
php bin/console doctrine:generate:entities MyBundle:TblMyTable --no-backup

Программа работает корректно. Но когда я обновляю этот файл через любой текстовый редактор, я даю исключение:

[Semantical Error] The annotation "@DoctrineORMMappingI" in property
MyBundleEntityTblMyTable::$myId does not exist, or could not be auto-loaded.

Я проверил кодировку и символы конца строки до и после версии для файла сущности. Но я не видел никакой разницы!

мое окружение:

    symfony: 3.0.5
    doctrine/orm: 2.5
    doctrine/doctrine-bundle: 1.6
    doctrine/dbal: 2.5.4

1 ответ

  1. Я понимаю, доктрина парсера есть баг Для» я » персонажа. Потому что символ» i » в верхнем регистре «I «или»I».
    символ» i » считается unicode. Доктрина parser не поддерживает unicode.

    Я исправил эту проблему с помощью этой команды на консоли

    export LC_ALL=C
    

    Эта команда делает именно то, что описано в:
    https://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do