简体   繁体   中英

Integrate Zend Framework 1 and Doctrine 2

I would like to use Doctrine (v2.4) in my ZendFramework (v1.11) application, which I am starting from scratch. There are some articles describing such integration, but they seem quite complicated and a little out of date. Is there any fairly simple way to connect ZF1 and Doctrine2?

I've implemented this as an application resource (extending \\Zend_Application_Resource_ResourceAbstract )

The code is quite long so below is a top level check list of the requirements.

  • Create a doctrine entity manager configuration instance ( Doctrine\\ORM\\Configuration ).

    $config = new Doctrine\\ORM\\Configuration();

  • Populate the configuration with the required data (metadata driver, cache config etc). Doctrine's documentation is a good reference here to what would be required ( http://docs.doctrine-project.org/en/latest/reference/configuration.html )

Example here uses the Annotation driver:

$driver = new Driver\AnnotationDriver(
  new Annotations\CachedReader(new Annotations\AnnotationReader(), new  Cache\ArrayCache()), 
  $entityDirs
 );
 $config->setMetadataDriverImpl($driver);
  • Lastly pass this new config instance to the static entity manager EntityManager::create

EG ( $options here is the database connection info as exampled in the above link)

$entityManager = EntityManager::create($options['database'], $config);

Take a look at my full source, at the very least it will give you a head start:

https://github.com/alex-patterson-webdev/Multiverse/blob/master/lib/Multiverse/Application/Resource/Entitymanager.php

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM