GA黄金甲

laravel 启动历程是什么

laravel是一款盛行的php开源框架,它的启动历程与其他框架类似,都需要履历一定的准备事情 。本文将针对laravel的启动历程举行详细先容 。

一、入口文件index.php

Laravel的入口文件是index.php,所有请求都将通过这个文件进入框架 。在index.php中,我们可以看到以下代码段:

/*
|--------------------------------------------------------------------------
| Turn On The Lights
|--------------------------------------------------------------------------
|
| We need to illuminate PHP development, so let us turn on the lights.
| This bootstraps the framework and gets it ready for use, then it
| will load up this application so that we can run it and send
| the responses back to the browser and delight our users.
|
*/

$app = require_once __DIR__.'/../bootstrap/app.php';

登录后复制

这段注释诠释了代码的作用,也可以看到require_once引入了bootstrap/app.php这个文件,也就是Laravel的启动文件 。

二、启动文件bootstrap/app.php

在app.php文件中,我们可以主要看到三个要害类的实例化:$app、$kernel、$router 。下面我们来逐一先容 。

$app

$app是Illuminate\Foundation\Application类的实例,是整个框架的焦点,它治理了 Laravel 应用程序的容器并提供了许多强有力的功效,如路由、请求处置惩罚、事务、cookie、session、异常处置惩罚等等 。接下来我们先看一下$app怎样初始化 。

在$app的结构函数中,它首先继续了Illuminate\Container\Container类,天生了一个容器实例 。在这个容器实例中我们可以绑定和注入我们需要的效劳 。

接着,它会注册Laravel的所有焦点容器效劳,如路由、日志、视图等 。

最后,它会加载Laravel设置文件,这些设置文件存放在config目录下,并将其放入$app实例的属性中 。

$kernel

$kernel是Illuminate\Contracts\Http\Kernel接口的一个实例,它是Laravel的HTTP内核,认真处置惩罚所有的HTTP请求,是毗连请求和响应的桥梁 。$kernel的主要作用是挪用请求的中心件,并将请求转达给路由器,最后将响应转达给客户端 。

在$app实例化后,它会挪用$app->make()要领然后通过容器剖析获取$kernel的实例 。在这个历程中,$app的容器会剖析$config[‘app’][‘middleware’]设置并注册中心件,然后将中心件存储到$kernel的实例中 。

$router

$router是Illuminate\Routing\Router类的实例,它是Laravel的路由器,处置惩罚所有的路由剖析和分发 。$router的主要作用是将请求和响应的操作举行匹配,为请求将被处置惩罚的路由存储在请求实例的属性中 。

在$app实例化后,它会使用响应的设置天生路由器实例,并通过$app实例的instance要领注册到Laravel的容器中 。

别的,还需要提到的是,$app会将请求实例及其它相关实例绑定到容器中,以供中心件、路由和控制器使用 。容器绑定完成后,Laravel就完成了准备事情 。

三、调理请求

在Laravel中,请求的调理流程如下:

1.从客户端提倡HTTP请求 。

2.请求首先经由Laravel的public/index.php文件,并被转发到bootstrap/app.php文件中 。

3.在bootstrap/app.php文件中,Laravel天生$app、$kernel和$router的实例,并将请求实例绑定到容器中 。然后$app会挪用$kernel的handle要领处置惩罚请求 。

4.在$kernel的handle要领中,Laravel通过容器剖析并依次挪用注册的中心件,然后将请求转发给路由器 。

5.在路由器中,Laravel从请求中提取URI,然后将其与路由器实例中界说的所有路由举行匹配 。若是找到匹配的路由,Laravel就将控制权转达给响应的控制器 。

6.控制器是请求的主要处置惩罚程序,它会挪用营业逻辑代码处置惩罚请求,并最终将效果作为响应返回给客户端 。

7.若是路由器没有找到匹配的路由,它会将请求转达给过失处置惩罚程序 。

8.在过失处置惩罚程序中,Laravel会凭证过失的类型和设置,天生响应的响应返回给客户端 。

以上就是一个Laravel请求的完整流程 。通过深入相识Laravel的启动历程和请求调理流程,我们可以更好的明确它的内部架构和事情原理,从而更好地运用它处置惩罚GA黄金甲营业 。

以上就是laravel 启动历程是什么的详细内容,更多请关注本网内其它相关文章!

免责说明:以上展示内容泉源于相助媒体、企业机构、网友提供或网络网络整理,版权争议与本站无关,文章涉及看法与看法不代表GA黄金甲滤油机网官方态度,请读者仅做参考 。本文接待转载,转载请说明来由 。若您以为本文侵占了您的版权信息,或您发明该内容有任何涉及有违公德、冒犯执法等违法信息,请您连忙联系GA黄金甲实时修正或删除 。

相关新闻

联系GA黄金甲

18523999891

可微信在线咨询

事情时间:周一至周五,9:30-18:30,节沐日休息

QR code
【网站地图】【sitemap】