Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Database/EntityManagerFactory.php
Строк: 110
<?php
namespace ConcreteCoreDatabase;

use 
ConcreteCoreApplicationApplication;
use 
ConcreteCoreCacheAdapterDoctrineCacheDriver;
use 
ConcreteCoreDatabaseConnectionConnection;
use 
ConcreteCorePackagePackage;
use 
DoctrineORMEntityManager;
use 
DoctrineORMToolsSetup;
use 
Config;
use 
Database;
use 
Events;

class 
EntityManagerFactory implements EntityManagerFactoryInterface
{

    protected 
$entitiesPath;
    protected 
$context;

    public function 
__construct($entitiesPath$context null)
    {
        
$this->entitiesPath $entitiesPath;
        
$this->context null;
    }

    public function 
create(Connection $connection)
    {
        
$config Setup::createConfiguration(
            
Config::get('concrete.cache.doctrine_dev_mode'),
            
Config::get('database.proxy_classes'),
            new 
DoctrineCacheDriver('cache/expensive')
        );

        
$driverImpl $config->newDefaultAnnotationDriver($this->entitiesPath);
        
$driverImpl->addExcludePaths(Config::get('database.proxy_exclusions', array()));
        
$config->setMetadataDriverImpl($driverImpl);

        
$event = new SymfonyComponentEventDispatcherGenericEvent();
        
$event->setArgument('connection'$connection);
        
$event->setArgument('configuration'$config);
        
$event->setArgument('context'$this->context);
        
Events::dispatch('on_entity_manager_configure'$event);
        
$config $event->getArgument('configuration');

        return 
EntityManager::create($connection$config);
    }

}
Онлайн: 3
Реклама