Php 条令注释失败
目前,我正在尝试在Silex应用程序中实现。在某一点上,整个站点在我的本地开发堆栈中以Php 条令注释失败,php,symfony,doctrine-orm,couchdb,silex,Php,Symfony,Doctrine Orm,Couchdb,Silex,目前,我正在尝试在Silex应用程序中实现。在某一点上,整个站点在我的本地开发堆栈中以500/内部服务器错误结束。设置断点并用XDebug和PHPStorm调试它们到目前为止还没有给我带来任何结果。Apache错误日志为空,PHP错误日志以及错误报告(-1)仍然不提供任何输出。可能问题在于反射类在其中的用法 一切都很好,直到我尝试使用 use Doctrine\ODM\CouchDB\Mapping\Annotations as CouchDB; 并在我的文档中使用它们 /** @CouchD
500/内部服务器错误
结束。设置断点并用XDebug和PHPStorm调试它们到目前为止还没有给我带来任何结果。Apache错误日志为空,PHP错误日志以及错误报告(-1)代码>仍然不提供任何输出。可能问题在于反射类在其中的用法
一切都很好,直到我尝试使用
use Doctrine\ODM\CouchDB\Mapping\Annotations as CouchDB;
并在我的文档中使用它们
/** @CouchDB\Document */
class Station
{
/**
* @Index
* @Id
*/
private $id;
如果我删除上面的CouchDB\
,一切正常。但是如果我删除它,并使用@Id(strategy=“ASSIGNED”)
,我会遇到完全相同的问题
我试着用几种方法注册注释,但没有成功@Ocramius在聊天中建议,我应该简单地覆盖Autoloader,它可以很好地解决其他一些问题,但不适用于这种情况(只是在这里添加它,以防其他人需要它)
尝试使用
/**
* @CouchDB\Index
* @CouchDB\Id
*/
而不是
/**
* @Index
* @Id
*/
您还可以在运行Silex应用程序(可能在index.php中)之前添加这一行来解决这个问题
谢谢你的回答。遗憾的是,这不起作用。我不确定,但可能问题是我没有加载所需的注释类(不太可能,因为我使用了它)。还有一点是,CouchDB注释应该只对齐默认的条令注释。因此,从理论上讲,它也应该在索引中没有CouchDB
的情况下工作。
/**
* @Index
* @Id
*/
AnnotationRegistry::registerLoader('class_exists');