创建像Laravel这样的类实例

时间:2017-01-02 17:30:21

标签: php laravel oop

我正在查看一些Laravel代码,以了解我的框架的一些新想法,我发现他们声明了他们的类实例,如:

Request $request;

然后它作为Request类引用,我还注意到在Laravel代码中添加了一个命名空间。

我查看PHP Manual周围的所有内容,重新阅读OOP Manual以及重新阅读namespace部分,我尝试了一些代码:

// Includes a class called PSM
PSM $psm;
$psm->version();

我知道" d"替代语法"结构,也无法找到该名称下的任何内容。

我意识到这与C# Syntax类似,而在声明变量或类实例时,您为它们提供了一个特定的数据类型,其实例是它们自己的类名。 (可能是错误的定义,从中可以采取的主要内容是此语法的C#相似性

因为它可能令人困惑,所以我只是简单地输入来讨论创建$request实例:

Request $request;

然后将类实例带入Controller的范围。

1 个答案:

答案 0 :(得分:1)

你在谈论IoC。您可以使用Laravel容器绑定任何类,然后使用此语法来解析此类:

function index(Request $request)
  

Laravel服务容器是一个用于管理类依赖性和执行依赖注入的强大工具。依赖注入是一个奇特的短语,本质上意味着:类依赖性通过构造函数“注入”类,或者在某些情况下,“注入”方法。