Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZF2 doctrineORM实体需要两次_Php_Orm_Doctrine Orm_Zend Framework2 - Fatal编程技术网

Php ZF2 doctrineORM实体需要两次

Php ZF2 doctrineORM实体需要两次,php,orm,doctrine-orm,zend-framework2,Php,Orm,Doctrine Orm,Zend Framework2,获得了一个zf2骨架应用程序,带有DoctrineORM和一些实体,并且一切正常 现在,当我尝试添加“类别”实体时: 但这给了我以下错误: Fatal error: require_once(): Cannot redeclare class me\entity\category in App/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php on line 197

获得了一个zf2骨架应用程序,带有DoctrineORM和一些实体,并且一切正常

现在,当我尝试添加“类别”实体时:

但这给了我以下错误:

Fatal error: require_once(): Cannot redeclare class me\entity\category in App/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php on line 197
我认为这是因为Category.php需要两次。 因此,我通过在Category.php中添加一个“guard”得到了一个临时修复

 if (defined('CATEGORY_GUARD')) return;
define('CATEGORY_GUARD', true);
这是可行的,但当然不是应该这样做的。 有人知道为什么这个实体需要两次吗

  • 我没有在任何地方使用类别实体
  • 第一次需要为:category.php(普通c),第二次需要为category.php(大写c)

您是否尝试过清除任何缓存的元数据?是的,运气不好,但我想我确实发现了问题。当我禁用ZendDeveloperTools时,错误消失。检查所有指向类别的其他实体。确保它们的targetEntity都是相同的(CamelCase)。就像我说的,它不在任何地方使用。我所做的就是创建它,然后得到错误。禁用ZendDeveloper工具可以修复它…明白。文件路径和名称是什么?确保它与命名空间和类名匹配。引发错误的地方基本上是查看目录并加载其中的所有文件。
 if (defined('CATEGORY_GUARD')) return;
define('CATEGORY_GUARD', true);