Доктрина для настройки PHP - PullRequest
0 голосов
/ 07 июля 2011

Привет всем!

Я создаю сайт PHP и решил использовать Doctrine в качестве DBAL и ORM.Я немного устала от своих навыков PHP, поэтому, пожалуйста, помогите мне понять одну вещь.

Способ настройки Doctrine, как указано в их документах, заключается в выполнении кода следующим образом:

if ($applicationMode == "development") {
    $cache = new \Doctrine\Common\Cache\ArrayCache;
} else {
    $cache = new \Doctrine\Common\Cache\ApcCache;
}

$config = new Configuration;
$config->setMetadataCacheImpl($cache);
$driverImpl = $config->newDefaultAnnotationDriver('/path/to/lib/MyProject/Entities');
$config->setMetadataDriverImpl($driverImpl);
$config->setQueryCacheImpl($cache);
$config->setProxyDir('/path/to/myproject/lib/MyProject/Proxies');
$config->setProxyNamespace('MyProject\Proxies');

if ($applicationMode == "development") {
    $config->setAutoGenerateProxyClasses(true);
} else {
    $config->setAutoGenerateProxyClasses(false);
}

$connectionOptions = array(
    'driver' => 'pdo_sqlite',
    'path' => 'database.sqlite'
);

Что меня удивляет, так это то, как вы должны выполнить этот код.Это то, что вы помещаете в файл config.php и включаете в каждую из ваших страниц, выполняя это в основном при каждой обработке страницы?Или я должен выполнить эту настройку один раз?

В соответствующей заметке - пожалуйста, помогите мне понять, как установка кеша ArrayCache вместо кеша APC помогает мне во время разработки?

1 Ответ

0 голосов
/ 07 июля 2011

доктрина - довольно трудный выбор, если ваши навыки PHP устарели ... В любом случае ...

Вы можете создать соединение и менеджер событий один раз в файле начальной загрузки.Затем вы можете передать экземпляр eventmanager вашим конструкторам классов или сделать его доступным через статический реестр (грязный грязный грязный) или ...

Это хорошая отправная точка (для orm 2.0):

http://www.doctrine -project.org / docs / orm / 2.0 / ru / tutorials / Getting-Start-xml-edition.html

Единственная причина использования ArrayCache в режиме разработкиЯ могу думать о том, что вам не нужно настраивать APC на этом этапе и вы можете сосредоточиться на кодировании.В производственном режиме APC дает вам дополнительный импульс и настоятельно рекомендуется.

С уважением, Фло

...