Я новичок в работе с Doctrine. Я зашел на их сайт и нашел версию 2.0 (стабильную), которая оказалась последней. Установил методом PEAR, правда возникли некоторые трудности. Документация показалась мне довольно запутанной, однако я поискал в Интернете и нашел образцы файла boostrap. Документацию по Doctrine 2.0 можно найти здесь .
`Я следовал инструкциям и включил файл загрузки классов, как и в случае с require_once('libs/Doctrine/Common/ClassLoader.php'); с начала.
$classLoader = new \Doctrine\Common\ClassLoader('Doctrine', 'libs');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Symfony', 'libs');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Entities', 'libs');
$classLoader->register();
$classLoader = new \Doctrine\Common\ClassLoader('Dao', 'libs');
$classLoader->register();
$config = new \Doctrine\ORM\Configuration();
$config->setMetadataCacheImpl(new \Doctrine\Common\Cache\ArrayCache);
$config->setProxyDir('/Proxies');
$config->setProxyNamespace('Proxies');
$driverImpl = $config->newDefaultAnnotationDriver(array("/Entities"));
$config->setMetadataDriverImpl($driverImpl);
$connectionOptions = array(
'dbname' => 'db',
'user' => 'root',
'password' => 'mypassword',
'host' => '127.0.0.1',
'driver' => 'pdo_mysql',);
$em = \Doctrine\ORM\EntityManager::create($connectionOptions, $config);
// At this point no actual connection to the database is created
$conn = \Doctrine\DBAL\DriverManager::getConnection($connectionOptions);//('mysql: //root:[email protected]/db');
// The first time the connection is needed, it is instantiated
// This query triggers the connection to be created
$conn->exec('SHOW TABLES');`
Выяснил, что метод «выполнить» — это «exec» в версии 2, и что вы используете DriverManager в версии 2 вместо чего-то другого. Теперь, когда я пытаюсь проверить, работает ли Doctrine, он не выводит ничего и выдает ошибку неожиданного T_STRING, что на самом деле означает, что команды не поняты.
В версии 1.2 есть тест с getPath(), но этой функции нет в версии 2.0, или может быть я что-то еще делаю не так. Обратите внимание, что $conn->exec также ничего не делает.
Я запускаю Windows 7 и сервер WAMP версии 2, PHP 5.3.3. Я удалил папку с Doctrine в каталоге моего проекта, хотя я действительно не понимаю, для чего была сделана установка PEAR? есть ли возможность использовать Doctrine без добавления в каталог проекта?
Заранее спасибо.