码迷,mamicode.com
首页 > 其他好文 > 详细

Laravel是怎么实现autoload的?

时间:2017-06-17 12:04:12      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:require   body   path   tab   数组   lsp   vendor   ges   php   

用了一阵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的?

标签:require   body   path   tab   数组   lsp   vendor   ges   php   

原文地址:http://www.cnblogs.com/wuyuxin/p/7039695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!