浅析 laravel 5.4 运行机制

作者: Stone_Zhuo | 来源:发表于2017-09-15 16:57 被阅读72次

入口文件

一个常规的laravel应用的所有请求都是向public\index.php发起的,在public/index.php中完成了如下任务:

  • 注册类的自动加载,这个是通过Composer生成的加载器实现的。
  • 创建应用并绑定重要接口,这一操作在bootstrap\app.php中进行。
  • 上一步绑定的接口中包含了对核心HttpConsole,访问请求将会根据类型发送给他们中的一个,接下来以Http为例来进行分析。

请求预处理

  • Http的处理核心在App\Http\Kernel.php中,这是一个继承了Illuminate\Foundation\Http\Kernel的类。类中定义了请求处理之前要执行的任务,包括错误处理和日志的配置等。
  • Http核心还定义了一些在请求执行前执行的中间件,这些中间件包括对session的读写和跨站请求验证等。
  • Http核心接受HTTP请求并返回HTTP响应。
  • Http启动操作中最重要的是加载service providers,首先会在所有providers上执行register,所有providers都注册好后会执行boot方法。

分发请求

  • 应用程序启动并且所有的service providers都注册好后,请求就会被交给路由。
  • 路由会根据定义将请求交给指定的控制器的指定的方法或者直接按照定义进行相关处理。
  • 处理结果会已页面的形式展示出来或者直接返回指定格式的数据。

本文首发于公众号:programmer_cc,转载请注明出处。


微信公众号.jpg

相关文章

网友评论

    本文标题:浅析 laravel 5.4 运行机制

    本文链接:https://www.haomeiwen.com/subject/jscvjxtx.html