Laravel实现autoload方法详解


Posted in PHP onMay 07, 2017

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

Laravel实现autoload方法详解

PHP 相关文章推荐
JAVA/JSP学习系列之二
Oct 09 PHP
drupal 代码实现URL重写
May 04 PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 PHP
如何修改和添加Apache的默认站点目录
Jul 05 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
Nov 03 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
PHP中include和require的区别实例分析
May 07 #PHP
自制PHP框架之设计模式
May 07 #PHP
自制PHP框架之模型与数据库
May 07 #PHP
自制PHP框架之路由与控制器
May 07 #PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 #PHP
PHP关键特性之命名空间实例详解
May 06 #PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 #PHP
You might like
phpwind中的数据库操作类
2007/01/02 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
php实现把数组按指定的个数分隔
2014/02/17 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
JavaScript 乱码问题
2009/08/06 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
Web开发之JavaScript
2012/03/29 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
Javascript核心读书有感之语言核心
2015/02/01 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
jQuery Validate初步体验(一)
2015/12/12 Javascript
Angular的$http的ajax的请求操作(推荐)
2017/01/10 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
2017/05/14 Javascript
详解使用angular-cli发布i18n多国语言Angular应用
2017/05/20 Javascript
Angular中的interceptors拦截器
2017/06/25 Javascript
jQuery实现左右滑动的toggle方法
2018/03/03 jQuery
详解vue表单——小白速看
2018/04/08 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
python中metaclass原理与用法详解
2019/06/25 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
Python关于反射的实例代码分享
2020/02/20 Python
pytorch掉坑记录:model.eval的作用说明
2020/06/23 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
Mountain Hardwear官网:攀岩服装和户外装备
2019/09/26 全球购物
小学生安全演讲稿
2014/04/25 职场文书
就业协议书怎么填
2014/09/15 职场文书
员工工作表现自我评价
2015/03/06 职场文书
2015年老干部工作总结
2015/04/23 职场文书
农村婚庆主持词
2015/06/29 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
Python代码实现双链表
2022/05/25 Python