首页 > 代码库 > Laravel是怎么实现autoload的?
Laravel是怎么实现autoload的?
用了一阵Laravel后发现很少有include和require,觉得有点奇怪,思考Laravel是怎么完成文件导入的。
其实Laravel依旧还是用include或者require的,只是都写在一个函数里了。
就像这样:
1
2
3
|
function autoload( $path ){ require_once ( $path ); } |
一般每次导入的PHP文件不只一两个,会有很多,所以要定义一个数组来存储“类和PHP文件的映射关系”,就像这样:
1
2
3
4
5
|
$classmap =[ ‘DB‘ => ‘api.php‘ , ‘FileSystem‘ => ‘api.php‘ , ‘Session‘ => ‘api.php‘ ]; |
然后,对数组进行遍历,不要再写for循环了,用一个优雅的函数就可以解决。
1 | array_map ( "autoload" , $classmap ); |
我们来看看真正的Laravel是怎么定义这个数组的,映射文件在\vendor\composer的autoload_classmap.php里
Laravel是怎么实现autoload的?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。