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 Undefined index和Undefined variable的解决方法
Mar 27 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
PHP中文分词的简单实现代码分享
Jul 17 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
Jun 03 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
PHP代码优化技巧小结
Sep 29 PHP
Yii框架数据模型的验证规则rules()被执行的方法
Dec 02 PHP
PHP正则判断一个变量是否为正整数的方法
Feb 27 PHP
调试php程序的简单步骤
Oct 04 PHP
php文件上传原理与实现方法详解
Dec 20 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
纯真IP数据库的应用 IP地址转化成十进制
2009/06/14 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP CURL 内存泄露问题解决方法
2015/02/12 PHP
PHP实现QQ空间自动回复说说的方法
2015/12/02 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
Expandable "Detail" Table Rows
2007/08/29 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
IE下JS读取xml文件示例代码
2013/08/05 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
bootstrap学习笔记之初识bootstrap
2016/06/21 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
vue打包后显示空白正确处理方法
2017/11/01 Javascript
详解Puppeteer 入门教程
2018/05/09 Javascript
koa+jwt实现token验证与刷新功能
2019/05/30 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
2019/08/13 Python
python验证码图片处理(二值化)
2019/11/01 Python
Pytorch释放显存占用方式
2020/01/13 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
2020/03/14 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
python批量合成bilibili的m4s缓存文件为MP4格式 ver2.5
2020/12/01 Python
大专生自荐信
2013/10/04 职场文书
铲车司机岗位职责
2014/03/15 职场文书
安全生产承诺书范文
2014/05/22 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
公司租房协议书
2014/10/14 职场文书
保护环境的宣传语
2015/07/13 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
基于JavaScript实现年月日三级联动
2021/06/22 Javascript