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 相关文章推荐
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
PHP-Java-Bridge使用笔记
Sep 22 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
Nov 19 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
CodeIgniter常用知识点小结
May 26 PHP
php封装的验证码工具类完整实例
Oct 19 PHP
php使用高斯算法实现图片的模糊处理功能示例
Nov 11 PHP
php实现的中文分词类完整实例
Feb 06 PHP
PHP正则+Snoopy抓取框架实现的抓取淘宝店信誉功能实例
May 17 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
PHP实现的观察者模式实例
Jun 21 PHP
laravel框架查询数据集转为数组的两种方法
Oct 10 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
php微信高级接口群发 多客服
2016/06/23 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
Javascript this指针
2009/07/30 Javascript
实现连缀调用的map方法(prototype)
2009/08/05 Javascript
javascript控制swfObject应用介绍
2012/11/29 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
js中this的用法实例分析
2015/01/10 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
Easyui 去除jquery-easui tab页div自带滚动条的方法
2019/05/10 jQuery
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Pycharm 实现下一个文件引用另外一个文件的方法
2019/01/17 Python
python实现月食效果实例代码
2019/06/18 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
python框架django项目部署相关知识详解
2019/11/04 Python
python获取array中指定元素的示例
2019/11/26 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
仓库主管岗位职责
2014/03/02 职场文书
北京颐和园导游词
2015/01/30 职场文书
廉政承诺书范文
2015/04/28 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server
教你如何使用Python Tkinter库制作记事本
2021/06/10 Python
python3+PyQt5+Qt Designer实现界面可视化
2021/06/10 Python
总结高并发下Nginx性能如何优化
2021/11/01 Servers