refactoring and adding more dependency injection through ioc container.

This commit is contained in:
Taylor Otwell
2011-08-24 22:51:32 -05:00
parent 99adf09ac7
commit 6a8aafc259
46 changed files with 1039 additions and 1276 deletions

View File

@@ -0,0 +1,88 @@
<?php namespace Laravel;
return array(
/*
|--------------------------------------------------------------------------
| Laravel File Cache Driver
|--------------------------------------------------------------------------
*/
'laravel.cache.file' => array('resolver' => function($container)
{
return new Cache\File($container->resolve('laravel.cache.file_engine'));
}),
/*
|--------------------------------------------------------------------------
| Laravel File Cache Driver Engine
|--------------------------------------------------------------------------
*/
'laravel.cache.file_engine' => array('resolver' => function($container)
{
return new Cache\File_Engine;
}),
/*
|--------------------------------------------------------------------------
| Laravel APC Cache Driver
|--------------------------------------------------------------------------
*/
'laravel.cache.apc' => array('resolver' => function($container)
{
return new Cache\APC($container->resolve('laravel.cache.apc_engine'));
}),
/*
|--------------------------------------------------------------------------
| Laravel APC Cache Driver Engine
|--------------------------------------------------------------------------
*/
'laravel.cache.apc_engine' => array('resolver' => function($container)
{
return new Cache\APC_Engine;
}),
/*
|--------------------------------------------------------------------------
| Laravel Memcached Cache Driver
|--------------------------------------------------------------------------
*/
'laravel.cache.memcached' => array('resolver' => function($container)
{
return new Cache\Memcached($container->resolve('laravel.memcache'));
}),
/*
|--------------------------------------------------------------------------
| Memcache Connection
|--------------------------------------------------------------------------
*/
'laravel.memcache' => array('singleton' => true, 'resolver' => function($container)
{
if ( ! class_exists('Memcache'))
{
throw new \Exception('Attempting to use Memcached, but the Memcache PHP extension is not installed on this server.');
}
$memcache = new \Memcache;
foreach (Config::get('cache.servers') as $server)
{
$memcache->addServer($server['host'], $server['port'], true, $server['weight']);
}
if ($memcache->getVersion() === false)
{
throw new \Exception('Memcached is configured. However, no connections could be made. Please verify your memcached configuration.');
}
return $memcache;
}),
);