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 相关文章推荐
我的论坛源代码(八)
Oct 09 PHP
再次研究下cache_lite
Feb 14 PHP
php获得当前的脚本网址
Dec 10 PHP
php smarty的预保留变量总结
Dec 04 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
PHP之APC缓存详细介绍 apc模块安装
Jan 13 PHP
php小技巧之过滤ascii控制字符
May 14 PHP
PHP中执行cmd命令的方法
Oct 11 PHP
PHP中的一些常用函数收集
May 26 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
Feb 26 PHP
Linux下 php7安装redis的方法
Nov 01 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
解决phpmyadmin中文乱码问题。。。
2007/01/18 PHP
php下载文件的代码示例
2012/06/29 PHP
php生成静态页面的简单示例
2014/04/17 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
javascript 播放器 控制
2007/01/22 Javascript
JS event使用方法详解
2008/04/28 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
微信小程序入门教程
2016/11/18 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
详解webpack运行Babel教程
2018/06/13 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python 协程 gevent原理与用法分析
2019/11/22 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
Python安装whl文件过程图解
2020/02/18 Python
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
应聘护士自荐信
2013/10/21 职场文书
战略合作协议书范本
2014/04/18 职场文书
中学生期中自我鉴定
2014/04/20 职场文书
4s店活动策划方案
2014/08/25 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle