Commit 97fcea1e authored by Taylor Otwell's avatar Taylor Otwell

cleaned up paths.

parent 409e9089
......@@ -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',
));
\ No newline at end of file
......@@ -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;
\ No newline at end of file
require path('sys').'cli/artisan'.EXT;
\ No newline at end of file
<?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 {
......
<?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
......
<?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 {
......
<?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'];
}
/**
......
<?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'));
......
<?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
......
<?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.";
......
......@@ -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']);
......
......@@ -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;
}
/**
......
......@@ -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;
}
/**
......
......@@ -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
......
......@@ -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;
......
......@@ -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);
}
}
\ No newline at end of file
<?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;
......
<?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;
......
......@@ -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)
{
......
<?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')) === '')
{
......
......@@ -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);
}
......
......@@ -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
......
<?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>
......
......@@ -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
......
......@@ -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);
}
/**
......
......@@ -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'));
......
......@@ -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
......
......@@ -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;
}
\ No newline at end of file
......@@ -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.
......
......@@ -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';
\ No newline at end of file
require path('sys').'laravel.php';
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment