/** * Register the service provider. * * @return void */ public function register() { $this->package('opensolutions/doctrine2bridge', 'doctrine2bridge'); $this->app['config']->package('opensolutions/doctrine2bridge', __DIR__ . '/../config'); $this->app->singleton('d2cachebridge', function ($app) { $cacheClass = "\\Doctrine\\Common\\Cache\\" . \Config::get('doctrine2bridge::cache.type'); if (!class_exists($cacheClass)) { throw new Exception\ImplementationNotFound($cacheClass); } $cache = new $cacheClass(); if (\Config::has('doctrine2bridge::cache.namespace')) { $cache->setNamespace(\Config::get('doctrine2bridge::cache.namespace')); } switch (\Config::get('doctrine2bridge::cache.type')) { case 'MemcacheCache': $memcache = new \Memcache(); if (!\Config::has('doctrine2bridge::cache.memcache.servers') || !count(\Config::get('doctrine2bridge::cache.memcache.servers'))) { throw new Exception\Configuration('No servers defined for Doctrine2Bridge\\Doctrine2CacheBridgeServiceProvider - Memcache'); } foreach (\Config::get('doctrine2bridge::cache.memcache.servers') as $server) { $memcache->addServer($server['host'], isset($server['port']) ? $server['port'] : 11211, isset($server['persistent']) ? $server['persistent'] : false, isset($server['weight']) ? $server['weight'] : 1, isset($server['timeout']) ? $server['timeout'] : 1, isset($server['retry_int']) ? $server['retry_int'] : 15); $cache->setMemcache($memcache); } break; } return $cache; }); // Shortcut so developers don't need to add an Alias in app/config/app.php \App::booting(function () { $loader = \Illuminate\Foundation\AliasLoader::getInstance(); $loader->alias('D2Cache', 'Doctrine2Bridge\\Support\\Facades\\Doctrine2Cache'); }); }
/** * Register the service provider. * * @return void */ public function register() { $this->registerCache(); // Shortcut so developers don't need to add an Alias in app/config/app.php \App::booting(function () { $loader = \Illuminate\Foundation\AliasLoader::getInstance(); $loader->alias('D2Cache', 'Doctrine2l5\\Support\\Facades\\Doctrine2Cache'); }); }
/** * Register the service provider. * * @return void */ public function register() { $this->package('opensolutions/doctrine2bridge', 'doctrine2bridge'); $this->app['config']->package('opensolutions/doctrine2bridge', __DIR__ . '/../config'); $d2config = $this->d2config = \Config::get('doctrine2bridge::doctrine'); $this->app->singleton('d2embridge', function ($app) use($d2config) { $dconfig = new \Doctrine\ORM\Configuration(); $driver = new \Doctrine\ORM\Mapping\Driver\XmlDriver(array($d2config['paths']['xml_schema'])); $dconfig->setMetadataDriverImpl($driver); $dconfig->setProxyDir($d2config['paths']['proxies']); $dconfig->setProxyNamespace($d2config['namespaces']['proxies']); $dconfig->setAutoGenerateProxyClasses($d2config['autogen_proxies']); return \Doctrine\ORM\EntityManager::create($d2config['connection'], $dconfig); }); // Shortcut so developers don't need to add an Alias in app/config/app.php \App::booting(function () { $loader = \Illuminate\Foundation\AliasLoader::getInstance(); $loader->alias('D2EM', 'Doctrine2Bridge\\Support\\Facades\\Doctrine2'); }); }
private function registerRepositoryFacade() { $this->app->bind(D2Repository::class, function ($app) { return new D2Repository(); }); \App::booting(function () { $loader = \Illuminate\Foundation\AliasLoader::getInstance(); $loader->alias('D2R', 'Doctrine2Bridge\\Support\\Facades\\Doctrine2Repository'); }); }