From 29fc9f694d116c856ae9582dbf442eb8f6de8511 Mon Sep 17 00:00:00 2001 From: Taylor Otwell Date: Fri, 25 Oct 2013 00:28:22 -0500 Subject: [PATCH] Working on more Stacky setup. --- artisan | 4 ++-- bootstrap/start.php | 2 -- composer.json | 3 ++- public/index.php | 45 +++++++++++++++++++++++++++++++++++++++------ 4 files changed, 43 insertions(+), 11 deletions(-) diff --git a/artisan b/artisan index 1c169f6d..36bb2d98 100755 --- a/artisan +++ b/artisan @@ -29,8 +29,6 @@ require __DIR__.'/bootstrap/autoload.php'; $app = require_once __DIR__.'/bootstrap/start.php'; -$app->boot(); - /* |-------------------------------------------------------------------------- | Load The Artisan Console Application @@ -43,6 +41,8 @@ $app->boot(); | */ +$app->setRequestForConsoleEnvironment(); + $artisan = Illuminate\Console\Application::start($app); /* diff --git a/bootstrap/start.php b/bootstrap/start.php index 9848f9bc..cd8a5b69 100644 --- a/bootstrap/start.php +++ b/bootstrap/start.php @@ -13,8 +13,6 @@ $app = new Illuminate\Foundation\Application; -$app->redirectIfTrailingSlash(); - /* |-------------------------------------------------------------------------- | Detect The Application Environment diff --git a/composer.json b/composer.json index 67b36205..903f8db4 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,8 @@ "keywords": ["framework", "laravel"], "license": "MIT", "require": { - "laravel/framework": "4.1.*" + "laravel/framework": "4.1.*", + "stack/builder": "dev-master" }, "autoload": { "classmap": [ diff --git a/public/index.php b/public/index.php index 295c10ec..a1a4f9c5 100644 --- a/public/index.php +++ b/public/index.php @@ -34,6 +34,21 @@ $app = require_once __DIR__.'/../bootstrap/start.php'; +/* +|-------------------------------------------------------------------------- +| Capture The Request +|-------------------------------------------------------------------------- +| +| Next we will capture the HTTP request into an instance of the Symfony +| request class. We will then pass that to a Laravel application for +| processing and return the response we receive back from the app. +| +*/ + +use Symfony\Component\HttpFoundation\Request; + +$request = Request::createFromGlobals(); + /* |-------------------------------------------------------------------------- | Run The Application @@ -42,21 +57,39 @@ | Once we have the application, we can simply call the run method, | which will execute the request and send the response back to | the client's browser allowing them to enjoy the creative -| and wonderful applications we have created for them. +| and wonderful application we have whipped up for them. | */ -$app->run(); +$response = with(new Stack\Builder) + ->push('Illuminate\Foundation\TrailingSlashRedirector') + ->resolve($app) + ->handle($request); + +/* +|-------------------------------------------------------------------------- +| Close The Application & Send Response +|-------------------------------------------------------------------------- +| +| When closing the application, the session cookies will be set on the +| request. Also, this is an opportunity to finish up any other work +| that needs to be done before sending this response to browsers. +| +*/ + +$app->callCloseCallbacks($request, $response); + +$response->send(); /* |-------------------------------------------------------------------------- | Shutdown The Application |-------------------------------------------------------------------------- | -| Once the app has finished running, we will fire off the shutdown events -| so that any final work may be done by the application before we shut -| down the process. This is the last thing to happen to the request. +| Once the app has finished running we'll fire off the shutdown events +| so that any end work may be done by an application before we shut +| off the process. This is the final thing to happen to requests. | */ -$app->shutdown(); \ No newline at end of file +$app->terminate($request, $response); \ No newline at end of file