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 多维数组排序实现代码
Aug 05 PHP
php 运行效率总结(提示程序速度)
Nov 26 PHP
php flv视频时间获取函数
Jun 29 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
php的sso单点登录实现方法
Jan 08 PHP
php+ajax实现无刷新分页
Nov 18 PHP
PHP远程调试之XDEBUG
Dec 29 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
Sep 09 PHP
浅谈php处理后端&接口访问超时的解决方法
Oct 29 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
Feb 11 PHP
PHP使用SMTP邮件服务器发送邮件示例
Aug 28 PHP
PHP中localeconv()函数的用法
Mar 26 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
php去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
2016/06/12 Javascript
利用jQuery实现一个简单的表格上下翻页效果
2017/03/14 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
jQuery轻松实现无缝轮播效果
2017/03/22 jQuery
layui表格checkbox选择全选样式及功能的实例
2018/03/07 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
详解Python中for循环的使用
2015/04/14 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
详解Swift中属性的声明与作用
2016/06/30 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
导致python中import错误的原因是什么
2020/07/01 Python
linux面试题参考答案(6)
2016/06/23 面试题
中学教师培训制度
2014/01/31 职场文书
党支部对照检查材料
2014/08/25 职场文书
大学生个人学习总结
2015/02/15 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
员工试用期工作总结
2019/06/20 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js