Я интегрирую доктрину с Zend Framework. Я ударил ошибку, сброшенную из cli. Кажется, Zend_Application_Bootstrap_Bootstrap не имеет require_once для Zend_Application_Bootstrap_BootstrapAbstract. Кто-нибудь ударил это?
my cli-config.php
<?php $classLoader = new \Doctrine\Common\ClassLoader('App', __DIR__ . "/../application/models"); $classLoader->register(); $classLoader = new \Doctrine\Common\ClassLoader('Cms', __DIR__ . "/../application/modules/cms-modules/models"); $classLoader->register(); $classLoader = new \Doctrine\Common\ClassLoader('Proxies', __DIR__ . "/../application/models"); $classLoader->register(); $config = new \Doctrine\ORM\Configuration(); $config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache); $driverImpl = $config->newDefaultAnnotationDriver(array( __DIR__."/../application/models/App", __DIR__."/../application/modules/cms-modules/models/Cms" )); $config->setMetadataDriverImpl($driverImpl); $config->setProxyDir(__DIR__ . '/Proxies'); $config->setProxyNamespace('Proxies'); // Database connection information $connectionOptions = array( 'driver' => 'pdo_mysql', 'dbname' => 'bella', 'user' => 'username', 'password' => 'password', 'unix_socket' => '/Applications/MAMP/tmp/mysql/mysql.sock' ); $em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config); $helperSet = new \Symfony\Component\Console\Helper\HelperSet( array( 'db' => new \Doctrine\DBAL\Tools\Console\Helper\ConnectionHelper($em->getConnection()), 'em' => new \Doctrine\ORM\Tools\Console\Helper\EntityManagerHelper($em) ));
Класс Bootstrap должен расширять класс Bootstrap Abstract.
class Bootstrap extends Zend_Application_Module_Bootstrap { //..... }
Zend_Application не использует require_once. Это один из первых пакетов в ZF 1. *, который требует автозагрузчика Zend.
Yep, заменивший загрузчик классов доктрины автозагрузчиком Zend, сделал трюк. Я должен был добавить путь к пространствам имен непосредственно на php-путь, используя set_include_path. Есть ли лучший способ сделать это? Я вижу, что классный загрузчик Doctrine позволяет указать как путь, так и пространство имен. Спасибо за помощь беберлей и Алекс