##composer支持四种模式(psr0,psr4,classmap,files)##
composer默认psr4,支持php5.2
PSR-4指定的就当作当前命名空间的目录, 而PSR-0 指定的是当前命名空间的父目录。composer dump-autoload 一下
<?php
//实现自动加载类
spl_autoload_register(function ($class) {
/* 限定类名路径映射 */
$class_map = array(
// 限定类名 => 文件路径
$class => $class.".php",
);
/* 引入相关文件 */
if (file_exists($file = $class_map[$class])) include $file;
});
//按照顺序加载(按照命名空间寻找)
$aa =new \classes\AA();
$aa->aa();
echo "\n";
$bb = new \classes\BB();
$bb->bb();
echo "\n";
$sasasaasds = new \saadsadsas\sasasaasds();
$sasasaasds->wqwqwq();
echo "\n";
$fwqdqwd = new \wqeqweqw\fwqdqwd();
$fwqdqwd->尼玛();
sql_autoload_register() 函数 跟 __autoload()相比,
1.__autoload($class) 因为是一个函数,所以只能定义一次,使用多个会冲突报错;而 sql_autoload_register(‘function’) 可定义多个,它有效地创建一个队列的自动装载函数并按顺序依次定义
2.SPL函数很丰富,有更多的操作空间:如spl_autoload_unregister()注销已经注册的函数、spl_autoload_functions()返回所有已经注册的函数等