How to configure Bisna for use with Doctrine 2.1 and Zend Framework 1.11.9? [EDIT is my mistake]

I had a previous version of Bisna (until July 22), and Doctrine 2.0 works well, according to the instructions at http://www.zendcasts.com/unit-testing-doctrine-2-entities/2011/02/ .

Yesterday I decided to upgrade to Doctrine 2.1, and I had to upgrade Bisna since it was incompatible with Doctrine 2.1.
Therefore, I deleted all the Doctrine and Bisna directories from my library directory, implemented a new version of each of them, added the autoload initialization method to bootstrap and updated the application.ini file with the corresponding changes.

However, when I try to access an application (which worked fine with Doctrine 2.0 and a previous version of Bisna), I get the following exception:

Notice: Undefined index: annotationRegistry in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php on line 569 



Additional Information:
This line (# 569):

 $this->startAnnotationRegistry($config['annotationRegistry']); 

When I print the contents of $config , I get the following:

 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) 

So, I see that the annotationRegistry property is inside the array where the code expects it to not be inside the array.

But this is not the end, as I get the following exception (below the previous exception):

 Notice: Undefined index: drivers in /home/doron/workspace/myapp/library/Bisna/Doctrine/Container.php on line 571 

So, I think something is incorrectly configured, or there is a bug with Bisna.

This is my application.ini application:

 [production] ; -------------------------- ; PHP Specific Configuration ; -------------------------- phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 phpSettings.date.timezone = "EST" includePaths.library = APPLICATION_PATH "/../library" includePaths.resource = APPLICATION "/../library/Bisna/Application/Resource" ; ---------------------------------------- ; Zend Framework Application Configuration ; ---------------------------------------- bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" autoloaderNamespaces[] = "MyApp" autoloaderNamespaces[] = "Bisna" autoloaderNamespaces[] = "Symfony" autoloaderNamespaces[] = "Doctrine" pluginPaths.Bisna\Application\Resource\ = "Bisna/Application/Resource" ; ------------------------------ ; Front Controller Configuration ; ------------------------------ resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" resources.frontController.params.displayExceptions = 0 resources.view[] = resources.view.encoding = "UTF-8" resources.view.doctype = "XHTML1_STRICT" resources.view.contentType = "text/html; charset=UTF-8" resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/" ; ------------------------------------------------------------------------------ ; Doctrine Class Loader Configuration ; ------------------------------------------------------------------------------ resources.doctrine.classLoader.loaderClass = "Doctrine\Common\ClassLoader" resources.doctrine.classLoader.loaderFile = APPLICATION_PATH "/../library/Doctrine/Common/ClassLoader.php" resources.doctrine.classLoader.loaders.doctrine_common.namespace = "Doctrine\Common" resources.doctrine.classLoader.loaders.doctrine_common.includePath = APPLICATION_PATH "/../library" resources.doctrine.classLoader.loaders.doctrine_dbal.namespace = "Doctrine\DBAL" resources.doctrine.classLoader.loaders.doctrine_dbal.includePath = APPLICATION_PATH "/../library" resources.doctrine.classLoader.loaders.doctrine_orm.namespace = "Doctrine\ORM" resources.doctrine.classLoader.loaders.doctrine_orm.includePath = APPLICATION_PATH "/../library" resources.doctrine.classLoader.loaders.symfony_console.namespace = "Symfony\Component\Console" resources.doctrine.classLoader.loaders.symfony_console.includePath = APPLICATION_PATH "/../library" resources.doctrine.classLoader.loaders.symfony_yaml.namespace = "Symfony\Component\Yaml" resources.doctrine.classLoader.loaders.symfony_yaml.includePath = APPLICATION_PATH "/../library" ; ------------------------------------------------------------------------------ ; Doctrine Cache Configuration ; ------------------------------------------------------------------------------ ; Points to default cache instance to be used. Optional is only one cache is defined resources.doctrine.cache.defaultCacheInstance = default ; Cache Instance configuration for "default" cache resources.doctrine.cache.instances.default.adapterClass = "Doctrine\Common\Cache\MemcacheCache" resources.doctrine.cache.instances.default.namespace = "Application_" resources.doctrine.cache.instances.default.options.servers.0.host = localhost resources.doctrine.cache.instances.default.options.servers.0.port = 11211 ; ------------------------------------------------------------------------------ ; Doctrine DBAL Configuration ; ------------------------------------------------------------------------------ ; Points to default connection to be used. Optional if only one connection is defined resources.doctrine.dbal.defaultConnection = default ; Database configuration ;resources.doctrine.dbal.connections.default.parameters.wrapperClass = "" resources.doctrine.dbal.connections.default.parameters.driver = "pdo_mysql" resources.doctrine.dbal.connections.default.parameters.dbname = "myapp" resources.doctrine.dbal.connections.default.parameters.host = "localhost" resources.doctrine.dbal.connections.default.parameters.port = 3306 resources.doctrine.dbal.connections.default.parameters.user = "myapp" resources.doctrine.dbal.connections.default.parameters.password = "myapp" resources.doctrine.dbal.connections.default.parameters.charset = "utf-8" resources.doctrine.dbal.connections.default.parameters.driverOptions.1002 = "SET NAMES 'UTF8'" ; ------------------------------------------------------------------------------ ; Doctrine ORM Configuration ; ------------------------------------------------------------------------------ ; Points to default EntityManager to be used. Optional if only one EntityManager is defined resources.doctrine.orm.defaultEntityManager = default ; EntityManager configuration for "default" manager resources.doctrine.orm.entityManagers.default.connection = default resources.doctrine.orm.entityManagers.default.proxy.autoGenerateClasses = false resources.doctrine.orm.entityManagers.default.proxy.namespace = "MyApp\Entity\Proxy" resources.doctrine.orm.entityManagers.default.proxy.dir = APPLICATION_PATH "/../library/MyApp/Entity/Proxy" resources.doctrine.orm.entityManagers.default.metadataDrivers.annotationRegistry.annotationFiles[] = APPLICATION_PATH "/../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.adapterClass = "Doctrine\ORM\Mapping\Driver\AnnotationDriver" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingNamespace = "MyApp\Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingDirs[] = APPLICATION_PATH "/../library/MyApp/Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.annotationReaderClass = "Doctrine\Common\Annotations\AnnotationReader" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.annotationReaderCache = default [development : production] phpSettings.display_startup_errors = 1 phpSettings.display_errors = 1 phpSettings.error_reporting = E_ALL | E_STRICT resources.frontController.params.displayExceptions = 1 resources.doctrine.cache.instances.default.adapterClass = "Doctrine\Common\Cache\ArrayCache" resources.doctrine.cache.instances.default.namespace = "Application_" 
+6
zend-framework doctrine2
Aug 01 2018-11-11T00:
source share
2 answers

This is my mistake, I did not notice the following lines:

 resources.doctrine.orm.entityManagers.default.metadataDrivers.0.adapterClass = "Doctrine\ORM\Mapping\Driver\AnnotationDriver" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingNamespace = "MyApp\Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.mappingDirs[] = APPLICATION_PATH "/../library/MyApp/Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.annotationReaderClass = "Doctrine\Common\Annotations\AnnotationReader" resources.doctrine.orm.entityManagers.default.metadataDrivers.0.annotationReaderCache = default 

were renamed to

 resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.adapterClass = "Doctrine\ORM\Mapping\Driver\AnnotationDriver" resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingNamespace = "MyApp\Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.mappingDirs[] = APPLICATION_PATH "/../library/MyApp/Entity" resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderClass = "Doctrine\Common\Annotations\AnnotationReader" resources.doctrine.orm.entityManagers.default.metadataDrivers.drivers.0.annotationReaderCache = default 

(pay attention to drivers added to 0 ).

+8
Aug 01 2018-11-11T00:
source share

FYI, Guillerme Blanco updated Bisna. Now it works with Doctrine 2.1.0 and 2.2.0 Source: http://phphints.wordpress.com/2011/07/10/getting-bisna-to-work-with-doctrinecommon-2-1-0/

0
Jan 27 '12 at 16:56
source share



All Articles