現在、Silex アプリケーションにDoctrine CouchDB Bundleを実装しようとしています。ある時点で、完全なサイトは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 はチャットで、オートローダーを単にオーバーライドするべきだと提案しました。これは、他のいくつかの問題を乗り越えるのにうまく機能しましたが、その場合はそうではありませんでした (他の誰かがそれを必要とする場合に備えて、ここに追加するだけです)。
AnnotationRegistry::registerLoader( function( $className ) {
return class_exists( $className );
} );