Laravel实现autoload方法详解
程序员文章站
2024-03-09 08:50:59
用了一阵laravel后发现很少有include和require,觉得有点奇怪,思考laravel是怎么完成文件导入的。
其实laravel依旧还是用include或者r...
用了一阵laravel后发现很少有include和require,觉得有点奇怪,思考laravel是怎么完成文件导入的。
其实laravel依旧还是用include或者require的,只是都写在一个函数里了。
就像这样:
function autoload($path){ require_once($path); }
一般每次导入的php文件不只一两个,会有很多,所以要定义一个数组来存储“类和php文件的映射关系”,就像这样:
$classmap=[ 'db'=>'api.php', 'filesystem'=>'api.php', 'session'=>'api.php' ];
然后,对数组进行遍历,不要再写for循环了,用一个优雅的函数就可以解决。
array_map("autoload",$classmap);
我们来看看真正的laravel是怎么定义这个数组的,映射文件在\vendor\composer的autoload_classmap.php里