diff --git a/laravel/config/container.php b/laravel/config/container.php index abbe4171..a36f16e5 100644 --- a/laravel/config/container.php +++ b/laravel/config/container.php @@ -12,8 +12,6 @@ { $config = $container->resolve('laravel.config'); - $connections = $config->get('database.connections'); - return new Database\Manager($config->get('database.connections'), $config->get('database.default')); }), @@ -24,28 +22,6 @@ }), - 'laravel.form' => array('singleton' => true, 'resolver' => function($container) - { - $request = $container->resolve('laravel.request'); - - $html = $container->resolve('laravel.html'); - - $url = $container->resolve('laravel.url'); - - $token = ($container->registered('laravel.session.driver')) ? $container->resolve('laravel.session.driver')->get('csrf_token') : null; - - return new Form($request, $html, $url, $token); - }), - - - 'laravel.html' => array('singleton' => true, 'resolver' => function($container) - { - $encoding = $container->resolve('laravel.config')->get('application.encoding'); - - return new HTML($container->resolve('laravel.url'), $encoding); - }), - - 'laravel.input' => array('singleton' => true, 'resolver' => function($container) { $application = $container->resolve('laravel.application'); @@ -75,11 +51,9 @@ }), - 'laravel.responder' => array('singleton' => true, 'resolver' => function($container) + 'laravel.redirect' => array('singleton' => true, 'resolver' => function($container) { - require_once SYS_PATH.'response'.PHP; - - return new Response_Factory($container->resolve('laravel.view'), $container->resolve('laravel.file')); + return new Redirect($container->resolve('laravel.url')); }), @@ -91,13 +65,11 @@ 'laravel.url' => array('singleton' => true, 'resolver' => function($container) { - $config = $container->resolve('laravel.config'); - $request = $container->resolve('laravel.request'); - $base = $config->get('application.url'); + $base = $container->resolve('laravel.config')->get('application.url'); - $index = $config->get('application.index'); + $index = $container->resolve('laravel.config')->get('application.index'); return new URL($container->resolve('laravel.router'), $base, $index, $request->secure); }), diff --git a/laravel/redirect.php b/laravel/redirect.php index 7290fa79..47de8641 100644 --- a/laravel/redirect.php +++ b/laravel/redirect.php @@ -2,56 +2,53 @@ class Redirect extends Response { + /** + * Create a new redirect generator instance. + * + * @param URL $url + * @return void + */ + public function __construct(URL $url) + { + $this->url = $url; + } + /** * Create a redirect response. * - * - * // Create a redirect for the "user/profile" URI - * return Redirect::to('user/profile'); - * - * // Create a redirect using the 301 status code - * return Redirect::to('user/profile', 301); - * - * // Create a redirect using the "refresh" method - * return Redirect::to('user/profile', 302, 'refresh'); - * - * * @param string $url * @param int $status * @param string $method * @param bool $https * @return Redirect */ - public static function to($url, $status = 302, $method = 'location', $https = false) + public function to($url, $status = 302, $method = 'location', $https = false) { - $url = URL::to($url, $https); + $url = $this->url->to($url, $https); + + parent::__construct('', $status); if ($method == 'location') { - return parent::__construct('', $status)->header('Refresh', '0;url='.$url); + return $this->header('Refresh', '0;url='.$url); } else { - return parent::__construct('', $status)->header('Location', $url); + return $this->header('Location', $url); } } /** * Create a redirect response to a HTTPS URL. * - * - * // Create a HTTPS redirect to the "user/profile" URI - * return Redirect::to_secure('user/profile'); - * - * * @param string $url * @param int $status * @param string $method * @return Response */ - public static function to_secure($url, $status = 302, $method = 'location') + public function to_secure($url, $status = 302, $method = 'location') { - return static::to($url, $status, $method, true); + return $this->to($url, $status, $method, true); } /** @@ -59,11 +56,6 @@ public static function to_secure($url, $status = 302, $method = 'location') * * This is useful for passing status messages or other temporary data to the next request. * - * - * // Flash a status message to the session on a redirect - * return Redirect::to('user/profile')->with('status', 'Welcome Back!'); - * - * * @param string $key * @param mixed $value * @return Response @@ -76,28 +68,20 @@ public function with($key, $value) } /** - * Magic Method to handle redirecting to named routes. - * - * - * // Create a redirect to the "profile" route - * return Redirect::to_profile(); - * - * // Create a redirect to the "profile" route using HTTPS - * return Redirect::to_secure_profile(); - * + * Magic Method to handle creation of redirects to named routes. */ - public static function __callStatic($method, $parameters) + public function __call($method, $parameters) { $parameters = (isset($parameters[0])) ? $parameters[0] : array(); if (strpos($method, 'to_secure_') === 0) { - return static::to(URL::to_route(substr($method, 10), $parameters, true)); + return $this->to($this->url->to_route(substr($method, 10), $parameters, true)); } if (strpos($method, 'to_') === 0) { - return static::to(URL::to_route(substr($method, 3), $parameters)); + return $this->to($this->url->to_route(substr($method, 3), $parameters)); } throw new \Exception("Method [$method] is not defined on the Redirect class."); diff --git a/laravel/response.php b/laravel/response.php index 22a9a0da..683a27dc 100644 --- a/laravel/response.php +++ b/laravel/response.php @@ -178,7 +178,8 @@ class Response { * * @param mixed $content * @param int $status - */ + * @return void + */ public function __construct($content, $status = 200) { $this->content = $content;