我在写自己带命名空间的PHP框架的时候,没法实现spl_autoload_register,比如c=index&a=index
我现在控制器没有命名空间,实现自动加载的方法是
public static function autoload($class)
{
if(file_exists(ROOT_DIR.'/controllers/'.$class.'.php'))
{
include ROOT_DIR.'/controllers/'.$class.'.php';
}
else if(file_exists(ROOT_DIR.'/'.$class.'.php'))
{
include ROOT_DIR.'/'.$class.'.php';
}
else
{
echo $class.'找不到';
}
}// end function
我的控制器命名空间是 namesapce controllers
那么如何实现命名空间的class自动导入呢?
PHP自动加载业界规范 http://www.php-fig.org/psr/psr-4/
所以穿进去的$class的值可能为"Namespace\ClassName",注意处理空间命名应该就没问题了。