根据http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/中的说明,我有之前版本的Bisna(7月22日之前),Doctrine 2.0运行良好.
昨天我决定升级到Doctrine 2.1,并且不得不升级Bisna,因为它与Doctrine 2.1不兼容.
所以我从我的库目录中删除了整个Doctrine和Bisna目录,引入了每个目录的新版本,将自动加载init方法添加到引导程序,并使用相关更改更新了我的application.ini文件.
但是,当我尝试访问应用程序(在Doctrine 2.0和之前版本的Bisna之前工作正常)时,我得到以下异常:
Notice: Undefined index: annotationRegistry in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php on line 569
Run Code Online (Sandbox Code Playgroud)
高级信息:
该行(#569)是:
$this->startAnnotationRegistry($config['annotationRegistry']);
Run Code Online (Sandbox Code Playgroud)
当我打印内容时$config,我得到以下内容:
array
0 =>
array
'annotationRegistry' =>
array
'annotationFiles' =>
array
0 => string '/home/doron/workspace/myapp/application/../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php' (length=103)
'adapterClass' => string 'Doctrine\ORM\Mapping\Driver\AnnotationDriver' (length=44)
'mappingNamespace' => string 'MyApp\Entity' (length=13)
'mappingDirs' =>
array
0 => string '/home/doron/workspace/myapp/application/../library/MyApp/Entity' (length=65)
'annotationReaderClass' => string 'Doctrine\Common\Annotations\AnnotationReader' (length=44)
'annotationReaderCache' => string 'default' (length=7)
Run Code Online (Sandbox Code Playgroud)
所以我可以看到该annotationRegistry属性位于一个数组中,代码期望它不在数组中.
但这不是结束,因为我也得到以下异常(低于前一个异常):
Notice: Undefined index: drivers in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php …Run Code Online (Sandbox Code Playgroud)