美文网首页
laravel核心

laravel核心

作者: 云窗96 | 来源:发表于2018-06-24 16:45 被阅读0次

1.理解请求周期

首页设置在public/index.php,从bootstrap/app.php获取应用实例。
从app/Http/Kernel.php的内核继承lluminate\Foundation\Http\Kernel,基本有两个功能。
一:定义了bootstrappers数组进行引导程序。
二:定义了HTTP中间件。
标志性handle就是接收一个 Request 并返回一个 Response。

2.服务提供者

存在于config/app.php 文件中的 providers 数组中。 首先, register 方法进行注册,所有提供者注册完成,boot 方法将会被调用,几乎所有服务容器的绑定都是在服务容器中进行的

3.服务容器

主要是绑定和解析的过程。
绑定:bind和signleton
例子:

$this->app->bind('API',function($app){
 return  new API($app->make('xxx'));
}

解析:make

$api=$this->make(API);

4.Facade 门面

Facade 基类使用 __callStatic() 魔术方法在你的 facades 中延迟调用容器中对应对象的方法。
所有门面累继承了 Facade 基类,并且定义了 getFacadeAccessor() 方法。这个方法的作用是返回服务容器中对应名字的绑定内容,相当于静态调用。

5.Contracts 契约

契约需要你明显地定义依赖关系,用来定义核心服务的接口,具有低耦合和简单性。

6.依赖注入

类的依赖通过构造器或在某些情况下通过「setter」方法进行「注入」,看我也不懂。
代码实例:

1.容器方法

this->bind('API',function($app){
    return new API($app->make('xxx'));
}

2.依赖注入

function (\Illum\Log\Writer $log){
    $log->debug('test')
}

3.门面

Log::debug('test')
Log.png

相关文章

网友评论

      本文标题:laravel核心

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