Files
spa-api/laravel/loader.php

55 lines
894 B
PHP
Raw Normal View History

2011-08-18 19:56:29 -05:00
<?php namespace Laravel;
2011-08-02 22:19:13 -05:00
class Loader {
/**
2011-09-08 17:49:16 -05:00
* The paths that will be searched by the loader.
2011-08-02 22:19:13 -05:00
*
* @var array
*/
2011-09-08 17:49:16 -05:00
public $paths;
2011-08-02 22:19:13 -05:00
/**
2011-09-08 17:49:16 -05:00
* The class aliases defined for the application.
2011-08-02 22:19:13 -05:00
*
* @var array
*/
2011-09-08 17:49:16 -05:00
public $aliases;
2011-08-02 22:19:13 -05:00
/**
2011-09-08 17:49:16 -05:00
* Create a new class loader instance.
2011-08-02 22:19:13 -05:00
*
2011-09-08 17:49:16 -05:00
* @param array $paths
* @param array $aliases
2011-08-02 22:19:13 -05:00
* @return void
*/
2011-09-08 17:49:16 -05:00
public function __construct($paths, $aliases)
2011-08-02 22:19:13 -05:00
{
2011-08-26 21:42:04 -05:00
$this->paths = $paths;
$this->aliases = $aliases;
2011-08-02 22:19:13 -05:00
}
/**
2011-09-08 17:49:16 -05:00
* Load the file for a given class.
2011-08-02 22:19:13 -05:00
*
* @param string $class
* @return void
*/
2011-08-26 21:42:04 -05:00
public function load($class)
2011-08-02 22:19:13 -05:00
{
$file = strtolower(str_replace('\\', '/', $class));
2011-08-02 22:19:13 -05:00
if (array_key_exists($class, $this->aliases)) return class_alias($this->aliases[$class], $class);
2011-08-03 22:10:07 -05:00
2011-09-08 17:49:16 -05:00
foreach ($this->paths as $path)
2011-08-02 22:19:13 -05:00
{
2011-09-08 17:49:16 -05:00
if (file_exists($path = $path.$file.EXT))
2011-08-02 22:19:13 -05:00
{
require_once $path;
2011-08-02 22:19:13 -05:00
return;
2011-08-03 22:10:07 -05:00
}
}
2011-08-02 22:19:13 -05:00
}
}