当我尝试验证我的symfony架构时,我收到错误:
[Doctrine\Common\Annotations\AnnotationException]
[Semantical Error] The annotation "@Doctrine\Orm\Mapping\Entity" in class C
hill\EmailUser\Entity\EmailUser does not exist, or could not be auto-loaded
Run Code Online (Sandbox Code Playgroud)
我在这个问题中看到:导入注释的麻烦,据说我们需要改变Doctrine Simple Annotation Reader.尽管在自动加载器中进行bundle配置似乎很奇怪,但我尝试通过app/autoloader.php来做到这一点:
use Doctrine\ORM\Configuration;
path = __DIR__."/../vendor/path/to/annotationDriver.php"
Configuration::newDefaultAnnotationDriver(path, false);
Run Code Online (Sandbox Code Playgroud)
我也尝试过研究,看看我是否能找到像这样的参数:
doctrine.orm.mappings.annotations.simple_annotations_reader
Run Code Online (Sandbox Code Playgroud)
我可以设置为假,但我找不到任何东西.
正如您将在下面看到的,我还尝试将我的bundle的映射添加到config.yml中的ORM设置.
composer.json:
{
"name": "root/photoproject",
"license": "proprietary",
"type": "project",
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
},
"autoload-dev": {
"files": [
"vendor/symfony/symfony/src/Symfony/Component/VarDumper/Resources/functions/dump.php"
]
},
"require": {
"php": ">=5.3.9",
"doctrine/annotations": "^1.4",
"doctrine/doctrine-bundle": "~1.4",
"doctrine/migrations": "^1.5",
"doctrine/orm": "^2.5",
"incenteev/composer-parameter-handler": "~2.0",
"sensio/distribution-bundle": "~4.0", …Run Code Online (Sandbox Code Playgroud)