我正在开发一些基于OOP PHP的Laravel项目。
经常使用以下内容:
public function (Request $request){}
变量Request
之前的单词$request
是什么?我甚至无法阅读它,因为我不知道它是如何被称为的。
答案 0 :(得分:5)
这些是类型提示 - 您可以read about here in the documenation
类型声明允许函数在调用时要求参数具有某种类型。如果给定值的类型不正确,则会生成错误:在PHP 5中,这将是可恢复的致命错误,而PHP 7将引发TypeError异常。
要指定类型声明,应在参数名称前添加类型名称。如果参数的默认值设置为NULL,则可以使声明接受NULL值。
在你的情况下(我已经重写了一点......)
public function foo(Request $request){}
这告诉foo()
函数$request
必须是Request
的实例。
答案 1 :(得分:1)
类型提示Request
是一个类。通过在变量之前引用它,强制PHP仅将请求Request
的实例传递给此方法。
如果您将string
或其他类型传递给此方法,则会抛出错误。
我建议你为初学者用PHP在OOP上进行快速谷歌搜索,或者查看Laracasts它有一些很好的资源来开始使用Laravel框架