laravel/system/loader.php

50 lines
1.7 KiB
PHP
Raw Normal View History

2011-06-08 23:45:08 -05:00
<?php
/**
* This function is registered on the auto-loader stack by the front controller.
*/
return function($class) {
// ----------------------------------------------------------
// Replace namespace slashes with directory slashes.
// ----------------------------------------------------------
$file = System\Str::lower(str_replace('\\', '/', $class));
// ----------------------------------------------------------
// Should the class be aliased?
// ----------------------------------------------------------
if (array_key_exists($class, $aliases = System\Config::get('application.aliases')))
{
return class_alias($aliases[$class], $class);
}
2011-06-14 17:27:11 -05:00
// ----------------------------------------------------------
// Is the class a Laravel framework class?
// ----------------------------------------------------------
2011-06-08 23:45:08 -05:00
if (file_exists($path = BASE_PATH.$file.EXT))
{
require $path;
}
2011-06-14 17:27:11 -05:00
// ----------------------------------------------------------
// Is the class in the application/models directory?
// ----------------------------------------------------------
2011-06-08 23:45:08 -05:00
elseif (file_exists($path = APP_PATH.'models/'.$file.EXT))
{
require $path;
}
2011-06-14 17:27:11 -05:00
// ----------------------------------------------------------
// Is the class in the application/packages directory?
// ----------------------------------------------------------
2011-06-08 23:45:08 -05:00
elseif (file_exists($path = APP_PATH.'packages/'.$file.EXT))
{
require $path;
}
2011-06-14 17:27:11 -05:00
// ----------------------------------------------------------
// Is the class anywhere in the application directory?
// ----------------------------------------------------------
2011-06-08 23:45:08 -05:00
elseif (file_exists($path = APP_PATH.$file.EXT))
{
require $path;
}
};