0

zf1 + doctrine mongo odm 1.0.0BETA4-DEV プロジェクトをセットアップしようとしています。https://github.com/Bittarman/zf-d2-odmブランチを使用していますが、doctrine のバージョンを 1.0.0BETA3 から 1.0.0BETA4-DEV に更新すると、次のエラーが発生します。

 SCREAM: Error suppression ignored for
 ( ! ) Fatal error: Call to undefined method Doctrine\Common\Annotations\AnnotationReader::setDefaultAnnotationNamespace() in C:\htdocs\zf-d2-odm\library\Lupi\Resource\Odm.php on line 34
 Call Stack
 #  Time    Memory  Function    Location
 1  0.0007  139368  {main}( )   ..\index.php:0
 2  0.0217  659008  Zend_Application->bootstrap( )  ..\index.php:25
 3  0.0217  659104  Zend_Application_Bootstrap_BootstrapAbstract->bootstrap( )  ..\Application.php:355
 4  0.0217  659120  Zend_Application_Bootstrap_BootstrapAbstract->_bootstrap( ) ..\BootstrapAbstract.php:586
 5  0.0314  1127240 Zend_Application_Bootstrap_BootstrapAbstract->_executeResource( )   ..\BootstrapAbstract.php:626
 6  0.0314  1127368 Lupi_Resource_Odm->init( )  ..\BootstrapAbstract.php:683
4

2 に答える 2

3

最新の生のドキュメントで新しいメソッドの使用法を見つけました

 https://github.com/doctrine/mongodb-odm-documentation

まず、アノテーションクラスを共通レジストリに登録するAnnotationDriver :: registerAnnotationClasses()を呼び出す必要があります。

AnnotationDriver::registerAnnotationClasses();

次に、通常はすべてのパスを構成し、アノテーションドライバーAnnotationDriver :: create()のファクトリメソッドを使用してメタデータドライバーを設定します。

$config = new Configuration();
$config->setProxyDir('/path/to/generate/proxies');
$config->setProxyNamespace('Proxies');
$config->setHydratorDir('/path/to/generate/hydrators');
$config->setHydratorNamespace('Hydrators');
$config->setMetadataDriverImpl(AnnotationDriver::create('/path/to/document/classes'));

$dm = DocumentManager::create(new Connection(), $config);
于 2012-07-02T04:04:57.470 に答える
1

その方法はもうありません。Lupi_Resource_Odm::init()更新された API 呼び出しで変更する必要があります。

于 2012-06-22T21:22:36.757 に答える