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 和 XML: 使用expat函数(二)
Oct 09 PHP
PHP 输出缓存详解
Jun 20 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
基于MySQL体系结构的分析
May 02 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
PHP迭代器的内部执行过程详解
Nov 12 PHP
实现获取http内容的php函数分享
Feb 16 PHP
php获得文件大小和文件创建时间的方法
Mar 13 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
php如何计算两坐标点之间的距离
Dec 29 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随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
PHP合并数组的2种方法小结
2016/11/24 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
JavaScript中模拟实现jsonp
2015/06/19 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
理解javascript异步编程
2016/01/27 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
解决vue打包项目后刷新404的问题
2018/03/06 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
在Vue中用canvas实现二维码和图片合成海报的方法
2019/06/10 Javascript
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
vue实现简易计算器功能
2021/01/20 Vue.js
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
浅析python 中__name__ = '__main__' 的作用
2014/07/05 Python
python编写的最短路径算法
2015/03/25 Python
Django生成PDF文档显示在网页上以及解决PDF中文显示乱码的问题
2019/07/04 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
网上开商店的创业计划书
2014/01/19 职场文书
爱我中华教学反思
2014/04/28 职场文书
经营理念口号
2014/06/21 职场文书
运动会开幕式致辞
2015/07/29 职场文书
Python使用pandas导入csv文件内容的示例代码
2022/12/24 Python