Files
spa-api/laravel/config/container.php

211 lines
5.2 KiB
PHP
Raw Normal View History

2011-09-16 20:01:10 -05:00
<?php namespace Laravel;
return array(
/*
|--------------------------------------------------------------------------
2011-09-20 21:28:19 -05:00
| Core Laravel Components
2011-09-16 20:01:10 -05:00
|--------------------------------------------------------------------------
*/
2011-09-20 21:28:19 -05:00
'laravel.auth' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Security\Auth($c->resolve('laravel.session'));
2011-09-16 20:01:10 -05:00
}),
2011-09-21 21:46:16 -05:00
'laravel.cookie' => array('singleton' => true, 'resolver' => function($c)
{
return new Cookie($_COOKIE);
}),
2011-09-20 21:28:19 -05:00
'laravel.crypter' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Security\Crypter(MCRYPT_RIJNDAEL_256, 'cbc', Config::get('application.key'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.hasher' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-19 21:33:25 -05:00
return new Security\Hashing\Bcrypt(8, false);
2011-09-16 20:01:10 -05:00
}),
2011-09-21 21:46:16 -05:00
'laravel.input' => array('singleton' => true, 'resolver' => function($c)
{
$input = array();
switch ($c->resolve('laravel.request')->method())
{
case 'GET':
$input = $_GET;
break;
case 'POST':
$input = $_POST;
break;
case 'PUT':
case 'DELETE':
if ($c->resolve('laravel.request')->spoofed())
{
$input = $_POST;
}
else
{
parse_str(file_get_contents('php://input'), $input);
}
}
unset($input[Request::spoofer]);
return new Input($input, $_FILES);
}),
'laravel.request' => array('singleton' => true, 'resolver' => function($c)
{
return new Request($c->resolve('laravel.uri'), $_SERVER, $_POST);
}),
'laravel.uri' => array('singleton' => true, 'resolver' => function($c)
{
return new URI($_SERVER);
}),
'laravel.view' => array('singleton' => true, 'resolver' => function($c)
{
require_once SYS_PATH.'view'.EXT;
return new View_Factory($c->resolve('laravel.composer'), VIEW_PATH);
}),
'laravel.composer' => array('singleton' => true, 'resolver' => function($c)
{
return new View_Composer(require APP_PATH.'composers'.EXT);
}),
2011-09-20 21:28:19 -05:00
/*
|--------------------------------------------------------------------------
| Laravel Routing Components
|--------------------------------------------------------------------------
*/
2011-09-16 20:01:10 -05:00
2011-09-20 21:28:19 -05:00
'laravel.routing.router' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-20 21:28:19 -05:00
return new Routing\Router($c->resolve('laravel.routing.loader'), CONTROLLER_PATH);
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.routing.loader' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-20 21:28:19 -05:00
return new Routing\Loader(APP_PATH, ROUTE_PATH);
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.routing.caller' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-20 21:28:19 -05:00
return new Routing\Caller($c, require APP_PATH.'filters'.EXT, CONTROLLER_PATH);
2011-09-16 20:01:10 -05:00
}),
/*
|--------------------------------------------------------------------------
2011-09-20 21:28:19 -05:00
| Laravel Caching Components
2011-09-16 20:01:10 -05:00
|--------------------------------------------------------------------------
*/
2011-09-20 21:28:19 -05:00
'laravel.cache.apc' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Cache\Drivers\APC(Config::get('cache.key'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.cache.file' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Cache\Drivers\File(CACHE_PATH);
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.cache.memcached' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Cache\Drivers\Memcached($c->resolve('laravel.cache.memcache.connection'), Config::get('cache.key'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.cache.memcache.connection' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-20 21:28:19 -05:00
$memcache = new \Memcache;
foreach (Config::get('cache.servers') as $server)
2011-09-20 21:28:19 -05:00
{
$memcache->addServer($server['host'], $server['port'], true, $server['weight']);
}
if ($memcache->getVersion() === false)
{
throw new \Exception('Could not establish memcached connection. Please verify your memcached configuration.');
}
return $memcache;
2011-09-16 20:01:10 -05:00
}),
/*
|--------------------------------------------------------------------------
2011-09-20 21:28:19 -05:00
| Laravel Session Components
2011-09-16 20:01:10 -05:00
|--------------------------------------------------------------------------
*/
2011-09-20 21:28:19 -05:00
'laravel.session.id' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-21 21:46:16 -05:00
return $c->resolve('laravel.cookie')->get('laravel_session');
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.session.manager' => array('singleton' => true, 'resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
$driver = $c->resolve('laravel.session.'.Config::get('session.driver'));
2011-09-16 20:01:10 -05:00
return new Session\Manager($driver, $c->resolve('laravel.session.transporter'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.session.transporter' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-21 21:46:16 -05:00
return new Session\Transporters\Cookie($c->resolve('laravel.cookie'));
2011-09-20 21:28:19 -05:00
}),
2011-09-16 20:01:10 -05:00
2011-09-20 21:28:19 -05:00
'laravel.session.apc' => array('resolver' => function($c)
{
return new Session\Drivers\APC($c->resolve('laravel.cache.apc'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.session.cookie' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
2011-09-21 21:46:16 -05:00
return new Session\Drivers\Cookie($c->resolve('laravel.crypter'), $c->resolve('laravel.cookie'));
2011-09-16 20:01:10 -05:00
}),
2011-09-20 21:28:19 -05:00
'laravel.session.database' => array('resolver' => function($c)
2011-09-16 20:01:10 -05:00
{
return new Session\Drivers\Database(Database\Manager::connection());
2011-09-20 21:28:19 -05:00
}),
2011-09-16 20:01:10 -05:00
2011-09-20 21:28:19 -05:00
'laravel.session.file' => array('resolver' => function($c)
{
return new Session\Drivers\File(SESSION_PATH);
2011-09-20 21:28:19 -05:00
}),
2011-09-16 20:01:10 -05:00
2011-09-20 21:28:19 -05:00
'laravel.session.memcached' => array('resolver' => function($c)
{
return new Session\Drivers\Memcached($c->resolve('laravel.cache.memcached'));
2011-09-16 20:01:10 -05:00
}),
);