Laravel源码Request $request的方法的来源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33896101/article/details/82228925
laravel\vendor\laravel\framework\src\Illuminate\Http\Request.php

这个trait

use Concerns\InteractsWithContentTypes,
        Concerns\InteractsWithFlashData,
        Concerns\InteractsWithInput,
        Macroable;

$request正来自于Concerns\InteractsWithInput

Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。

Trait 和 Class 相似,但仅仅旨在用细粒度和一致的方式来组合功能。 无法通过 trait 自身来实例化。它为传统继承增加了水平特性的组合;也就是说,应用的几个 Class 之间不需要继承。

根据PSR规范,use trait;应紧跟类的花括号写;

as 可设置trait里方法别名以及可见性;但在use它的类中,三种可见性均可访问。

trait以$this的方式调用。

同名方法覆盖问题,本类覆盖trait覆盖基类

猜你喜欢

转载自blog.csdn.net/qq_33896101/article/details/82228925