| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 【laravel8】生命周期 -> 正文阅读 |
|
[PHP知识库]【laravel8】生命周期 |
在开始之前需要了解一些单词的意思,这对读代码非常有帮助。 resolve:解析(递归地实例化) abstract:抽象类 Concrete:具体的 instance:实例化 instances:实例 bind:绑定。在laravel中指把一个契约(核心接口)与其具体实现的类的对应关系存入app容器类的变量里,例如:把缓存类与redis绑定,把数据库类与mysql绑定。 Alias:别名。例如app是\Illuminate\Contracts\Container\Container::class的别名,这是为了程序简短易读。 resolved:已解析的 laravel处理的请求包含http请求和console请求,http到达/public/index.php,console到达/artisan。区别在于所解析的核心类不同,一个是http,一个是console。 1.请求到达public/index.php,执行此文件。与以前版本不同,这里会先判断是否处于维护模式。 2.之后composer自动加载运行所需类库,比如此过程中会以文件的方式自动加载助手函数。 (此过程中会以文件的方式自动加载(autoload)助手函数,所以助手函数在构建app容器时就可用了,所有用到它的都不需要引用。) 这是我本地composer.lock中摘出的
autoload的好处?可以实现按需加载,一次加载到内存就不需要重复加载了。 3.实例化app容器,绑定几个重要接口及其实现类
第三步的详解:打开__DIR__.'/../bootstrap/app.php',
上述/../bootstrap/app.php文件中创建app应用实例用到的Illuminate\Foundation\Application类,打开看一下:
绑定有三种方式 bind:普通绑定 singleton:单例绑定 instance:绑定已经实例化了的实例 服务提供者是 Laravel 应用启动的中心,你自己的应用以及所有 Laravel 的核心服务都是通过服务提供者启动。 但是,我们所谓的「启动」指的是什么?通常,这意味着注册服务,包括注册服务容器绑定、事件监听器、中间件甚至路由。服务提供者是应用配置的中心。 boot方法在所有服务提供者被注册以后才会被调用,这就是说我们可以在其中访问框架已注册的所有其它服务。可以在 boot 方法中对依赖进行类型提示,服务容器会自动注入你所需要的依赖 |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 0:44:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |