Browse Source

cleaned up paths.

Taylor Otwell 12 years ago
parent
commit
97fcea1e51

+ 4 - 4
application/bundle.php

@@ -16,8 +16,8 @@
 */
 
 Autoloader::psr(array(
-	$GLOBALS['APP_PATH'].'models',
-	$GLOBALS['APP_PATH'].'libraries',
+	path('app').'models',
+	path('app').'libraries',
 ));
 
 /*
@@ -37,6 +37,6 @@ Autoloader::psr(array(
 */
 
 Autoloader::map(array(
-	//'User' => $GLOBALS['APP_PATH'].'models/user.php',
-	//'Role' => $GLOBALS['APP_PATH'].'models/role.php',
+	//'User' => path('app').'models/user.php',
+	//'Role' => path('app').'models/role.php',
 ));

+ 3 - 3
artisan

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  2.2.0 (Beta 1)
+ * @version  3.0.0
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */
@@ -16,9 +16,9 @@ require 'paths.php';
 // --------------------------------------------------------------
 // Bootstrap the Laravel core.
 // --------------------------------------------------------------
-require $GLOBALS['SYS_PATH'].'core.php';
+require path('sys').'core.php';
 
 // --------------------------------------------------------------
 // Launch the Laravel "Artisan" CLI.
 // --------------------------------------------------------------
-require $GLOBALS['SYS_PATH'].'cli/artisan'.EXT;
+require path('sys').'cli/artisan'.EXT;

+ 1 - 1
laravel/asset.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 class Asset {
 

+ 3 - 3
laravel/autoloader.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 class Autoloader {
 
@@ -62,7 +62,7 @@ class Autoloader {
 
 			if ($namespace == 'Laravel')
 			{
-				return static::load_psr($class, $GLOBALS['BASE_PATH']);
+				return static::load_psr($class, path('base'));
 			}
 
 			// If the class namespace is mapped to a directory, we will load the class
@@ -149,7 +149,7 @@ class Autoloader {
 	 *
 	 * <code>
 	 *		// Register a class mapping with the Autoloader
-	 *		Autoloader::map(array('User' => $GLOBALS['APP_PATH'].'models/user.php'));
+	 *		Autoloader::map(array('User' => path('app').'models/user.php'));
 	 * </code>
 	 *
 	 * @param  array  $mappings

+ 1 - 1
laravel/blade.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 class Blade {
 

+ 4 - 4
laravel/bundle.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 class Bundle {
 
@@ -51,7 +51,7 @@ class Bundle {
 		// We will trim the trailing slash from the location and add it back so
 		// we don't have to worry about the developer adding or not adding it
 		// to the location path for the bundle.
-		$config['location'] = $GLOBALS['BUNDLE_PATH'].rtrim($config['location'], DS).DS;
+		$config['location'] = path('bundle').rtrim($config['location'], DS).DS;
 
 		static::$bundles[$bundle] = array_merge($defaults, $config);
 	}
@@ -173,7 +173,7 @@ class Bundle {
 	 *		// Returns the bundle path for the "admin" bundle
 	 *		$path = Bundle::path('admin');
 	 *
-	 *		// Returns the $GLOBALS['APP_PATH'] constant as the default bundle
+	 *		// Returns the path('app') constant as the default bundle
 	 *		$path = Bundle::path('application');
 	 * </code>
 	 *
@@ -182,7 +182,7 @@ class Bundle {
 	 */
 	public static function path($bundle)
 	{
-		return ($bundle == DEFAULT_BUNDLE) ? $GLOBALS['APP_PATH'] : static::$bundles[$bundle]['location'];
+		return ($bundle == DEFAULT_BUNDLE) ? path('app') : static::$bundles[$bundle]['location'];
 	}
 
 	/**

+ 2 - 2
laravel/cache.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 class Cache {
 
@@ -51,7 +51,7 @@ class Cache {
 				return new Cache\Drivers\APC(Config::get('cache.key'));
 
 			case 'file':
-				return new Cache\Drivers\File($GLOBALS['STORAGE_PATH'].'cache'.DS);
+				return new Cache\Drivers\File(path('storage').'cache'.DS);
 
 			case 'memcached':
 				return new Cache\Drivers\Memcached(Memcached::connection(), Config::get('cache.key'));

+ 2 - 2
laravel/cli/artisan.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel\CLI; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel\CLI; defined('DS') or die('No direct script access.');
 
 use Laravel\Bundle;
 use Laravel\Config;
@@ -44,7 +44,7 @@ if (isset($_SERVER['cli']['db']))
  * us to seamlessly add tasks to the CLI so that the Task class
  * doesn't have to worry about how to resolve core tasks.
  */
-require $GLOBALS['SYS_PATH'].'cli/dependencies'.EXT;
+require path('sys').'cli/dependencies'.EXT;
 
 /**
  * We will wrap the command execution in a try / catch block and

+ 2 - 2
laravel/cli/tasks/bundle/bundler.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel\CLI\Tasks\Bundle; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel\CLI\Tasks\Bundle; defined('DS') or die('No direct script access.');
 
 use Laravel\IoC;
 use Laravel\Bundle;
@@ -16,7 +16,7 @@ class Bundler extends Task {
 	{
 		foreach ($this->get($bundles) as $bundle)
 		{
-			if (is_dir($GLOBALS['BUNDLE_PATH'].$bundle['name']))
+			if (is_dir(path('bundle').$bundle['name']))
 			{
 				echo "Bundle {$bundle['name']} is already installed.";
 

+ 1 - 1
laravel/cli/tasks/bundle/providers/github.php

@@ -17,7 +17,7 @@ class Github implements Provider {
 		// a location outside of the Git repository, so we don't need
 		// the full bundle path. We'll just take the basename in case
 		// the bundle directory has been renamed.
-		$path = basename($GLOBALS['BUNDLE_PATH']).'/';
+		$path = basename(path('bundle')).'/';
 
 		passthru('git submodule add '.$repository.' '.$path.$bundle['name']);
 

+ 2 - 2
laravel/cli/tasks/bundle/publisher.php

@@ -16,7 +16,7 @@ class Publisher {
 	{
 		$path = Bundle::path($bundle);
 
-		$this->move($path.'public', $GLOBALS['PUBLIC_PATH'].'bundles'.DS.$bundle);
+		$this->move($path.'public', path('public').'bundles'.DS.$bundle);
 
 		echo "Assets published for bundle [$bundle].".PHP_EOL;
 	}
@@ -41,7 +41,7 @@ class Publisher {
 	 */
 	protected function to($bundle)
 	{
-		return $GLOBALS['PUBLIC_PATH'].'bundles'.DS.$bundle.DS;
+		return path('public').'bundles'.DS.$bundle.DS;
 	}
 
 	/**

+ 1 - 1
laravel/cli/tasks/key.php

@@ -19,7 +19,7 @@ class Key extends Task {
 	 */
 	public function __construct()
 	{
-		$this->path = $GLOBALS['APP_PATH'].'config/application'.EXT;
+		$this->path = path('app').'config/application'.EXT;
 	}
 
 	/**

+ 1 - 1
laravel/cli/tasks/migrate/migrator.php

@@ -222,7 +222,7 @@ class Migrator extends Task {
 	 */
 	protected function stub($bundle, $migration)
 	{
-		$stub = File::get($GLOBALS['SYS_PATH'].'cli/tasks/migrate/stub'.EXT);
+		$stub = File::get(path('sys').'cli/tasks/migrate/stub'.EXT);
 
 		// The class name is formatted simialrly to tasks and controllers,
 		// where the bundle name is prefixed to the class if it is not in

+ 3 - 3
laravel/cli/tasks/session/manager.php

@@ -34,7 +34,7 @@ class Manager extends Task {
 		// generated on the database.
 		$migration = $migrator->make(array('create_session_table'));
 
-		$stub = $GLOBALS['SYS_PATH'].'cli/tasks/session/migration'.EXT;
+		$stub = path('sys').'cli/tasks/session/migration'.EXT;
 
 		File::put($migration, File::get($stub));
 
@@ -42,7 +42,7 @@ class Manager extends Task {
 		// Since the developer is requesting that the session table be
 		// created on the database, we'll set the driver to database
 		// to save an extra step for the developer.
-		$config = File::get($GLOBALS['APP_PATH'].'config/session'.EXT);
+		$config = File::get(path('app').'config/session'.EXT);
 
 		$config = str_replace(
 			"'driver' => '',",
@@ -50,7 +50,7 @@ class Manager extends Task {
 			$config
 		);
 
-		File::put($GLOBALS['APP_PATH'].'config/session'.EXT, $config);
+		File::put(path('app').'config/session'.EXT, $config);
 
 		echo PHP_EOL;
 

+ 7 - 7
laravel/cli/tasks/test/runner.php

@@ -23,7 +23,7 @@ class Runner extends Task {
 	 */
 	public function core()
 	{
-		if ( ! is_dir($GLOBALS['BUNDLE_PATH'].'laravel-tests'))
+		if ( ! is_dir(path('bundle').'laravel-tests'))
 		{
 			throw new \Exception("The bundle [laravel-tests] has not been installed!");
 		}
@@ -31,9 +31,9 @@ class Runner extends Task {
 		// When testing the Laravel core, we will just stub the path directly
 		// so the test bundle is not required to be registered in the bundle
 		// configuration, as it is kind of a unique bundle.
-		$this->stub($GLOBALS['BUNDLE_PATH'].'laravel-tests/cases');
+		$this->stub(path('bundle').'laravel-tests/cases');
 
-		$path = $GLOBALS['BUNDLE_PATH'].'laravel-tests/';
+		$path = path('bundle').'laravel-tests/';
 
 		$this->test();
 	}
@@ -76,9 +76,9 @@ class Runner extends Task {
 		// We'll simply fire off PHPUnit with the configuration switch
 		// pointing to our temporary configuration file. This allows
 		// us to flexibly run tests for any setup.
-		passthru('phpunit -c '.$GLOBALS['BASE_PATH'].'phpunit.xml');
+		passthru('phpunit -c '.path('base').'phpunit.xml');
 
-		@unlink($GLOBALS['BASE_PATH'].'phpunit.xml');
+		@unlink(path('base').'phpunit.xml');
 	}
 
 	/**
@@ -89,11 +89,11 @@ class Runner extends Task {
 	 */
 	protected function stub($directory)
 	{
-		$stub = File::get($GLOBALS['SYS_PATH'].'cli/tasks/test/stub.xml');
+		$stub = File::get(path('sys').'cli/tasks/test/stub.xml');
 
 		$stub = str_replace('{{directory}}', $directory, $stub);
 
-		File::put($GLOBALS['BASE_PATH'].'phpunit.xml', $stub);
+		File::put(path('base').'phpunit.xml', $stub);
 	}
 
 }

+ 1 - 1
laravel/config.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 use Closure;
 

+ 1 - 1
laravel/cookie.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 use Closure;
 

+ 5 - 5
laravel/core.php

@@ -17,10 +17,10 @@ define('MB_STRING', (int) function_exists('mb_get_info'));
  * These are typically classes that the auto-loader relies upon to
  * load classes, such as the array and configuration classes.
  */
-require $GLOBALS['SYS_PATH'].'bundle'.EXT;
-require $GLOBALS['SYS_PATH'].'config'.EXT;
-require $GLOBALS['SYS_PATH'].'helpers'.EXT;
-require $GLOBALS['SYS_PATH'].'autoloader'.EXT;
+require path('sys').'bundle'.EXT;
+require path('sys').'config'.EXT;
+require path('sys').'helpers'.EXT;
+require path('sys').'autoloader'.EXT;
 
 /**
  * Register the Autoloader's "load" method on the auto-loader stack.
@@ -42,7 +42,7 @@ Autoloader::$aliases = Config::get('application.aliases');
  * file within the bundles directory. This informs the framework
  * where the bundle lives and which URIs it responds to.
  */
-$bundles = require $GLOBALS['BUNDLE_PATH'].'bundles'.EXT;
+$bundles = require path('bundle').'bundles'.EXT;
 
 foreach ($bundles as $bundle => $value)
 {

+ 1 - 1
laravel/crypter.php

@@ -1,4 +1,4 @@
-<?php namespace Laravel; isset($GLOBALS['APP_PATH']) or die('No direct script access.');
+<?php namespace Laravel; defined('DS') or die('No direct script access.');
 
 if (trim(Config::get('application.key')) === '')
 {

+ 1 - 1
laravel/database/connectors/sqlite.php

@@ -24,7 +24,7 @@ class SQLite extends Connector {
 		// SQLite databases will be created automatically if they do not exist, so we
 		// will not check for the existence of the database file before establishing
 		// the PDO connection to the database.
-		$path = $GLOBALS['STORAGE_PATH'].'database'.DS.$config['database'].'.sqlite';
+		$path = path('storage').'database'.DS.$config['database'].'.sqlite';
 
 		return new PDO('sqlite:'.$path, null, null, $options);
 	}

+ 2 - 2
laravel/file.php

@@ -18,10 +18,10 @@ class File {
 	 *
 	 * <code>
 	 *		// Get the contents of a file
-	 *		$contents = File::get($GLOBALS['APP_PATH'].'routes'.EXT);
+	 *		$contents = File::get(path('app').'routes'.EXT);
 	 *
 	 *		// Get the contents of a file or return a default value if it doesn't exist
-	 *		$contents = File::get($GLOBALS['APP_PATH'].'routes'.EXT, 'Default Value');
+	 *		$contents = File::get(path('app').'routes'.EXT, 'Default Value');
 	 * </code>
 	 *
 	 * @param  string  $path

+ 1 - 12
laravel/helpers.php

@@ -1,16 +1,5 @@
 <?php
 
-/**
- * Get one of the global paths.
- *
- * @param  string  $path
- * @return string
- */
-function path($path)
-{
-	return $GLOBALS[strtoupper($path).'_PATH'];
-}
-
 /**
  * Convert HTML characters to entities.
  *
@@ -37,7 +26,7 @@ function __($key, $replacements = array(), $language = null)
 	return Laravel\Lang::line($key, $replacements, $language);
 }
 
-/**
+/**a
  * Get an item from an array using "dot" notation.
  *
  * <code>

+ 1 - 1
laravel/laravel.php

@@ -12,8 +12,8 @@ require 'core.php';
  * default timezone used by all date / timezone functions throughout
  * the entire application.
  */
-
 date_default_timezone_set(Config::get('application.timezone'));
+
 /**
  * Register the PHP exception handler. The framework throws exceptions
  * on every error that cannot be handled. All of those exceptions will

+ 1 - 1
laravel/log.php

@@ -43,7 +43,7 @@ class Log {
 	{
 		$message = date('Y-m-d H:i:s').' '.Str::upper($type)." - {$message}".PHP_EOL;
 
-		File::append($GLOBALS['STORAGE_PATH'].'logs/'.date('Y-m-d').'.log', $message);
+		File::append(path('storage').'logs/'.date('Y-m-d').'.log', $message);
 	}
 
 	/**

+ 1 - 1
laravel/session.php

@@ -52,7 +52,7 @@ class Session {
 				return new Session\Drivers\Database(Database::connection());
 
 			case 'file':
-				return new Session\Drivers\File($GLOBALS['STORAGE_PATH'].'sessions'.DS);
+				return new Session\Drivers\File(path('storage').'sessions'.DS);
 
 			case 'memcached':
 				return new Session\Drivers\Memcached(Cache::driver('memcached'));

+ 1 - 1
laravel/view.php

@@ -261,7 +261,7 @@ class View implements ArrayAccess {
 		// hash of their path. This allows us to easily store the views in
 		// the directory without worrying about re-creating the entire
 		// application view directory structure.
-		$compiled = $GLOBALS['STORAGE_PATH'].'views/'.md5($this->path);
+		$compiled = path('storage').'views/'.md5($this->path);
 
 		// The view will only be re-compiled if the view has been modified
 		// since the last compiled version of the view was created or no

+ 25 - 9
paths.php

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  2.2.0 (Beta 1)
+ * @version  3.0.0
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */
@@ -24,38 +24,38 @@ if ( ! defined('DS'))
 // --------------------------------------------------------------
 // Define the path to the base directory.
 // --------------------------------------------------------------
-$GLOBALS['BASE_PATH'] = __DIR__.DS;
+$GLOBALS['laravel_paths']['base'] = __DIR__.DS;
 
 // --------------------------------------------------------------
 // The path to the application directory.
 // --------------------------------------------------------------
-$paths['APP_PATH'] = 'application';
+$paths['app'] = 'application';
 
 // --------------------------------------------------------------
 // The path to the Laravel directory.
 // --------------------------------------------------------------
-$paths['SYS_PATH'] = 'laravel';
+$paths['sys'] = 'laravel';
 
 // --------------------------------------------------------------
 // The path to the bundles directory.
 // --------------------------------------------------------------
-$paths['BUNDLE_PATH'] = 'bundles';
+$paths['bundle'] = 'bundles';
 
 // --------------------------------------------------------------
 // The path to the storage directory.
 // --------------------------------------------------------------
-$paths['STORAGE_PATH'] = 'storage';
+$paths['storage'] = 'storage';
 
 // --------------------------------------------------------------
 // The path to the public directory.
 // --------------------------------------------------------------
 if ($web)
 {
-	$GLOBALS['PUBLIC_PATH'] = realpath('').DS;
+	$GLOBALS['laravel_paths']['public'] = realpath('').DS;
 }
 else
 {
-	$paths['PUBLIC'] = 'public';
+	$paths['public'] = 'public';
 }
 
 // --------------------------------------------------------------
@@ -65,5 +65,21 @@ foreach ($paths as $name => $path)
 {
 	if ($web) $path = "../{$path}";
 
-	$GLOBALS[$name] = realpath($path).DS;
+	$GLOBALS['laravel_paths'][$name] = realpath($path).DS;
+}
+
+// --------------------------------------------------------------
+// Define a global path helper function.
+// --------------------------------------------------------------
+function path($path)
+{
+	return $GLOBALS['laravel_paths'][$path];
+}
+
+// --------------------------------------------------------------
+// Define a global path setter function.
+// --------------------------------------------------------------
+function set_path($path, $value)
+{
+	$GLOBALS['laravel_paths'][$path] = $value;
 }

+ 6 - 6
phpunit.php

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  2.2.0 (Beta 1)
+ * @version  3.0.0
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */
@@ -25,19 +25,19 @@ $config = file_get_contents('phpunit.xml');
 
 if (strpos($config, 'laravel-tests') !== false)
 {
-	$path = $GLOBALS['BUNDLE_PATH'].'laravel-tests'.DS;
+	$path = path('bundle').'laravel-tests'.DS;
 
-	$GLOBALS['APP_PATH'] = $path.'application'.DS;
+	set_path('app', $path.'application'.DS);
 
-	$GLOBALS['BUNDLE_PATH'] = $path.'bundles'.DS;
+	set_path('bundle', $path.'bundles'.DS);
 
-	$GLOBALS['STORAGE_PATH'] = $path.'storage'.DS;
+	set_path('storage', $path.'storage'.DS);
 }
 
 // --------------------------------------------------------------
 // Bootstrap the Laravel core.
 // --------------------------------------------------------------
-require $GLOBALS['SYS_PATH'].'core.php';
+require path('sys').'core.php';
 
 // --------------------------------------------------------------
 // Start the default bundle.

+ 2 - 2
public/index.php

@@ -3,7 +3,7 @@
  * Laravel - A PHP Framework For Web Artisans
  *
  * @package  Laravel
- * @version  3.0.0 (Beta 2)
+ * @version  3.0.0
  * @author   Taylor Otwell <taylorotwell@gmail.com>
  * @link     http://laravel.com
  */
@@ -31,4 +31,4 @@ unset($web);
 // --------------------------------------------------------------
 // Launch Laravel.
 // --------------------------------------------------------------
-require $GLOBALS['SYS_PATH'].'laravel.php';
+require path('sys').'laravel.php';