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正则走开
Mar 15 PHP
PHP生成自适应大小的缩略图类及使用方法分享
May 06 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
php实现36进制与10进制转换功能示例
Jan 10 PHP
php实现mysql连接池效果实现代码
Jan 25 PHP
基于swoole实现多人聊天室
Jun 14 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
Mar 22 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
Laravel中获取IP的真实地理位置
Apr 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
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
2013/06/05 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
javascript检测flash插件是否被禁用的方法
2016/01/14 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
微信小程序链接传参并跳转新页面
2016/11/29 Javascript
vue 中directive功能的简单实现
2018/01/05 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
python网络编程示例(客户端与服务端)
2014/04/24 Python
python中二维阵列的变换实例
2014/10/09 Python
Python实现的递归神经网络简单示例
2017/08/11 Python
Python测试人员需要掌握的知识
2018/02/08 Python
python看某个模块的版本方法
2018/10/16 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
基于TensorFlow常量、序列以及随机值生成实例
2020/01/04 Python
解决python3中os.popen()出错的问题
2020/11/19 Python
俄罗斯眼镜网: optikaworld
2016/07/31 全球购物
Urban Outfitters英国官网:美国平价服饰品牌
2016/11/25 全球购物
教师自我评价范文
2013/12/16 职场文书
教师个人剖析材料
2014/02/05 职场文书
电台实习生求职信
2014/02/25 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
商务宴请邀请函范文
2015/02/02 职场文书
学校推普周活动总结
2015/05/07 职场文书
健康证明
2015/06/19 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书