[英]Doctrine Annotation failing
目前,我正在嘗試在Silex應用程序中實現Doctrine CouchDB捆綁軟件。 有一點整個站點以我本地開發堆棧中的500/internal server error
結束。 到目前為止,設置斷點並使用XDebug和PHPStorm調試它們並沒有帶來任何結果。 Apache錯誤日志為空,PHP錯誤日志也為空, error_reporting(-1);
仍然沒有給出任何輸出。 可能的問題是那里的反射類用法。
一切工作正常, 直到我嘗試使用CouchDB Annotations
use Doctrine\ODM\CouchDB\Mapping\Annotations as CouchDB;
並在我的文檔中使用它們
/** @CouchDB\Document */
class Station
{
/**
* @Index
* @Id
*/
private $id;
如果刪除上面的CouchDB\\
,一切正常。 但是,如果我刪除它,並使用@Id(strategy="ASSIGNED")
,則會遇到完全相同的問題。
我嘗試通過幾種方式來注冊注釋,但沒有運氣。 @Ocramius在聊天中建議我應該簡單地重寫Autoloader,這樣可以很好地解決其他問題,但不適用於這種情況(如果有人需要,可以在此處添加它)。
AnnotationRegistry::registerLoader( function( $className ) {
return class_exists( $className );
} );
嘗試使用
/**
* @CouchDB\Index
* @CouchDB\Id
*/
代替
/**
* @Index
* @Id
*/
您還可以通過在運行Silex應用程序之前添加此行來解決此問題(可能在index.php中)。
AnnotationRegistry::registerLoader('class_exists');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.