revert back to more sensible architecture.

This commit is contained in:
Taylor Otwell
2011-09-20 23:14:09 -05:00
parent 47db2ff19b
commit 4525eae25a
33 changed files with 1050 additions and 1558 deletions

View File

@@ -7,27 +7,14 @@ class Loader {
*
* @var array
*/
protected $paths;
public static $paths = array();
/**
* The class aliases defined for the application.
*
* @var array
*/
protected $aliases;
/**
* Create a new class loader instance.
*
* @param array $paths
* @param array $aliases
* @return void
*/
public function __construct($paths, $aliases)
{
$this->paths = $paths;
$this->aliases = $aliases;
}
public static $aliases = array();
/**
* Load the file for a given class.
@@ -35,7 +22,7 @@ class Loader {
* @param string $class
* @return void
*/
public function load($class)
public static function load($class)
{
// All Laravel core classes follow a namespace to directory convention. So, we will
// replace all of the namespace slashes with directory slashes.
@@ -43,9 +30,9 @@ class Loader {
// First, we'll check to determine if an alias exists. If it does, we will define the
// alias and bail out. Aliases are defined for most developer used core classes.
if (array_key_exists($class, $this->aliases)) return class_alias($this->aliases[$class], $class);
if (array_key_exists($class, static::$aliases)) return class_alias(static::$aliases[$class], $class);
foreach ($this->paths as $path)
foreach (static::$paths as $path)
{
if (file_exists($path = $path.$file.EXT))
{
@@ -70,9 +57,9 @@ class Loader {
* @param string $class
* @return void
*/
public function alias($alias, $class)
public static function alias($alias, $class)
{
$this->aliases[$alias] = $class;
static::$aliases[$alias] = $class;
}
/**
@@ -88,9 +75,9 @@ class Loader {
* @param string $path
* @return void
*/
public function path($path)
public static function path($path)
{
$this->paths[] = rtrim($path, '/').'/';
static::$paths[] = rtrim($path, '/').'/';
}
/**
@@ -104,9 +91,9 @@ class Loader {
* @param string $alias
* @return void
*/
public function forget_alias($alias)
public static function forget_alias($alias)
{
unset($this->aliases[$alias]);
unset(static::$aliases[$alias]);
}
}