Browse Source

Adding bootstrap/paths.php to allow specification of custom paths for sections of Laravel.

Signed-off-by: Ben Corlett <bencorlett@me.com>
Ben Corlett 11 years ago
parent
commit
24e158e889
4 changed files with 56 additions and 9 deletions
  1. 42 0
      bootstrap/paths.php
  2. 9 6
      bootstrap/start.php
  3. 1 1
      composer.json
  4. 4 2
      server.php

+ 42 - 0
bootstrap/paths.php

@@ -0,0 +1,42 @@
+<?php
+
+return array(
+
+	/*
+	|--------------------------------------------------------------------------
+	| Application Path
+	|--------------------------------------------------------------------------
+	|
+	| Here we just defined the path to the application directory. Most likely
+	| you will never need to change this value as the default setup should
+	| work perfectly fine for the vast majority of all our applications.
+	|
+	*/
+
+	'app' => __DIR__.'/../app',
+
+	/*
+	|--------------------------------------------------------------------------
+	| Public Path
+	|--------------------------------------------------------------------------
+	|
+	| We understand that not all hosting environments allow flexibility with
+	| public paths. That's why we allow you to change where your public path
+	| is below.
+	|
+	*/
+
+	'public' => __DIR__.'/../public',
+
+	/*
+	|-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+	| Base Path
+	|-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+	|
+	| You probably shouldn't be editing this.
+	|
+	*/
+
+	'base' => __DIR__.'/..',
+
+);

+ 9 - 6
bootstrap/start.php

@@ -15,18 +15,21 @@ $app = new Illuminate\Foundation\Application;
 
 /*
 |--------------------------------------------------------------------------
-| Define The Application Path
+| Bind Paths
 |--------------------------------------------------------------------------
 |
-| Here we just defined the path to the application directory. Most likely
-| you will never need to change this value as the default setup should
-| work perfectly fine for the vast majority of all our applications.
+| Here we are binding the paths configured in paths.php to the app. You
+| should not be changing these here but rather in paths.php.
 |
 */
 
-$app->instance('path', $appPath = __DIR__.'/../app');
+$paths = require __DIR__.'/paths.php';
 
-$app->instance('path.base', __DIR__.'/..');
+$app->instance('path', $appPath = $paths['app']);
+
+$app->instance('path.base', $paths['base']);
+
+$app->instance('path.public', $paths['public']);
 
 /*
 |--------------------------------------------------------------------------

+ 1 - 1
composer.json

@@ -12,4 +12,4 @@
 		]
 	},
 	"minimum-stability": "dev"
-}
+}

+ 4 - 2
server.php

@@ -4,7 +4,9 @@ $uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
 
 $uri = urldecode($uri);
 
-$requested = __DIR__.'/public'.$uri;
+$paths = require __DIR__.'/bootstrap/paths.php';
+
+$requested = $paths['public'].$uri;
 
 // This file allows us to emulate Apache's "mod_rewrite" functionality from the
 // built-in PHP web server. This provides a convenient way to test a Laravel
@@ -14,4 +16,4 @@ if ($uri !== '/' and file_exists($requested))
 	return false;
 }
 
-require_once(__DIR__ . '/public/index.php');
+require_once $paths['public'].'/index.php';