laravel 中功能简介

1、请求执行流程:

/public/index.php 请求入口,载入【自动加载】机制。

/bootstrap/app.php 获取【应用】实例,载入并创建【服务容器】实例。

载入 providers 数组中的【内容提供者】,有数据库、队列、验证器等。执行它们的 register 方法注册它们,然后执行 boot 方法初始化。

/app/Http/Kernel.php  HTTP内核,执行其父类 Illuminate\Foundation\Http\Kernel.php 中所有 bootstrappers 数组所定义的类,其包含了错误处理、日志、环境检测等。

其中还定义了 【中间件】&【路由中间件】 数组,【路由中间件】 将在每次请求时在构造器中被执行,用于权限控制。

执行过 RouteMddleware 后,handler 方法处理 HTTP 请求,接收一个 Request ,返回一个 Response。



2、Facades (门面):

- 说明:它为【服务容器】提供一个静态访问的接口,有易于测试,灵活,简明的优点。

- 声明: 在 config\app.php 的alias数组声明其简称及对应门面类,门面类之返回一个当前门面所代理的【服务容器】的名字。


3、服务容器:

- 说明:用于管理类依赖,和执行注入,注入方法是使用 构造器 或者 setter 方法

- 绑定:为应用绑定一个类,可以使用 $this->app->bind('类或接口名', function($app){  return new SomeClass();  // 返回对应类实例对象 });

      使用 $this->app->singleton(参数同bind) 方法,可以绑定一个单例对象,以后每次都将返回同一个对象。

      使用 $this->app->instance('Name', $someObject) 可以绑定一个已存在的对象。

      使用 $this->app->bind('接口名', '实现类');   // 绑定接口到实现

- 获取:$this->app->make('类或接口名')  或者  $this->app['类或接口名']

- 事件:每次解析对象的时候,可以绑定一个触发事件来调用,使用:$this->app->resolving(function($object, $app){})







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值