我正在查看一些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的范围。
答案 0 :(得分:1)
你在谈论IoC。您可以使用Laravel容器绑定任何类,然后使用此语法来解析此类:
function index(Request $request)
Laravel服务容器是一个用于管理类依赖性和执行依赖注入的强大工具。依赖注入是一个奇特的短语,本质上意味着:类依赖性通过构造函数“注入”类,或者在某些情况下,“注入”方法。