博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Laravel源码入门-启动引导过程(二)bootstrap/autoload.php
阅读量:6253 次
发布时间:2019-06-22

本文共 1154 字,大约阅读时间需要 3 分钟。

hot3.png

Laravel 由 public/index.php 开始,第一条语句是

/*|--------------------------------------------------------------------------| Register The Auto Loader|--------------------------------------------------------------------------|| Composer provides a convenient, automatically generated class loader for| our application. We just need to utilize it! We'll simply require it| into the script here so that we don't have to worry about manual| loading any of our classes later on. It feels great to relax.|*/require __DIR__.'/../bootstrap/autoload.php';

这个语句执行实现了注册类自动载入,让我们再来看看 bootstrap/autoload.php 的代码

200637_eovQ_32037.png这里的 autoload.php 又引入和执行了 vendor/autoload.php。我们思考为什么不把 autoload.php直接放入public目录中呢?或许是为了目录结构上分类的更加明确,引入来自起到启动功能的 bootstrap 目录中的文件,boostrap 的目录结构见图。其中的 bootstrap/app.php 就是Laravel所谓的点亮环节所需要的创建$app的类。bootstrap/cache/services.php 看来也 bootstrap 时用到的缓存内容,里面先期写入了大量的 ServiceProvider,是否启动时载入,还未能看到源代码出处。

上面是 bootstrap/autoload.php 载入和执行的 vendor/autoload.php,执行一次,这是由 Composer 产生的。

== 总结 ==

类自动载入部分,由 public/index.php 开始,到 bootstrap/autoload.php,深入到 vendor/autoload.php,最后是 vendor/composer/autoload_real.php。用目录图再回顾一下。

141711_GPg0_32037.png

转载于:https://my.oschina.net/zhmsong/blog/898522

你可能感兴趣的文章
47、删除vector中重复元素
查看>>
C# 多线程传参数
查看>>
DFS算法的实现
查看>>
初探React与D3的结合-或许是visualization的新突破?
查看>>
tcpdump抓包以及port查看的一些操作
查看>>
VTK GetScalarPointer() and GetScalarComponentAsFloat() not work
查看>>
<Android>从窗口泄漏谈android:configChanges属性
查看>>
MySQL运行原理与基础架构
查看>>
动物产生式识别系统
查看>>
python *args **kwargs
查看>>
Jquery UI - DatePicker 在Dialog中无法自动隐藏的解决思路
查看>>
Docker Swarm 让你事半功倍
查看>>
jQuery选择器之子元素过滤选择器Demo
查看>>
LogBoy运行截图
查看>>
string.Format字符串格式说明
查看>>
关于配置Tomcat的URIEncoding
查看>>
【C语言 C++】简单keywordRegister,Const,Static,Volatile,typedef,Define的理解
查看>>
POJ 3518 Prime Gap(素数)
查看>>
[笔记][Java7并发编程实战手冊]3.4 等待多个并发事件的完毕CountDownLatch倒计数闭锁...
查看>>
Java基础(十三):集合
查看>>