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 相关文章推荐
header()函数使用说明
Nov 23 PHP
PHP实现定时生成HTML网站首页实例代码
Nov 20 PHP
php PDO中文乱码解决办法
Jul 20 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
php获取post中的json数据的实现方法
Jun 08 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
php+mysqli数据库连接的两种方式
Jan 28 PHP
深入浅出php socket编程
May 13 PHP
php上传大文件设置方法
Apr 14 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
PHP读取目录树的实现方法分析
Mar 22 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+mysql一个名片库程序
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
PHP编写RESTful接口的方法
2016/02/21 PHP
详解PHP中websocket的使用方法
2016/09/15 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
js 日期比较相关天数代码
2014/04/02 Javascript
javascript动态判断html元素并执行不同的操作
2014/06/16 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
微信小程序 POST请求的实例详解
2017/09/29 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
js实现时间日期校验
2020/05/26 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
python实现计算倒数的方法
2015/07/11 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
python实现简单flappy bird
2018/12/24 Python
解决pycharm回车之后不能换行或不能缩进的问题
2019/01/16 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Flask配置Cors跨域的实现
2019/07/12 Python
对Python生成器、装饰器、递归的使用详解
2019/07/19 Python
Python各种扩展名区别点整理
2020/02/27 Python
P D PAOLA法国官网:西班牙著名的珠宝首饰品牌
2020/02/15 全球购物
高中体育教学反思
2014/01/29 职场文书
小学教师暑期培训方案
2014/08/28 职场文书
幼儿园家长反馈意见
2015/06/03 职场文书
学生会干部任命书
2015/09/21 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL