作为参数传递时,您可以显式实例化一个对象吗?
Can you implicitly instaniate an object when passing as a a parameter?
在这些人的建议下,我正在努力学习oop php。
我找到了一个通过社交媒体示例展示真实世界实施的网站,我通读了大部分内容。
但是我在 this page.
上遇到了可能只是替代语法的内容
我的问题是关于什么似乎是来自一个 class 的对象,作为参数传递给另一个 class 的方法。
我通读了其他一些类似性质的 Whosebug 问题,但只有 this one 展示了类似的语法,但只是在回答另一个问题时出现,而不是讨论我特别要问的问题(位于答案中)。
要清楚,从第一个链接页面摘录代码;
public function getFriend(Relationship $rel) {
if ($rel->getUserOne()->getUserId() === $this->loggedInUser->getUserId()) {
$friend = $rel->getUserTwo();
} else {
$friend = $rel->getUserOne();
}
return $friend;
}
方法 getFriend 来自 relation class,并且该方法的参数 Relationship $rel 我相信是 Relationship class 的一个实例。
然而没有
$rel = new Relationship
任何地方。这是通过引用传递对象吗?
我知道这是一个新手问题,所以谢谢,是的,我确实看过手册的 objects and classes 部分,所以如果我没有看手册的正确部分,你可以给我一个指向正确的方向,也谢谢。
您似乎在引用函数参数的类型提示或类型声明:
http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration
基本上这是在做什么,它要求变量的类型为 Relationship
。如果您尝试将任何其他类型的变量传递给此方法,您将收到致命错误 (PHP 5) 或异常 (PHP 7)。
在这些人的建议下,我正在努力学习oop php。
我找到了一个通过社交媒体示例展示真实世界实施的网站,我通读了大部分内容。
但是我在 this page.
上遇到了可能只是替代语法的内容我的问题是关于什么似乎是来自一个 class 的对象,作为参数传递给另一个 class 的方法。
我通读了其他一些类似性质的 Whosebug 问题,但只有 this one 展示了类似的语法,但只是在回答另一个问题时出现,而不是讨论我特别要问的问题(位于答案中)。
要清楚,从第一个链接页面摘录代码;
public function getFriend(Relationship $rel) {
if ($rel->getUserOne()->getUserId() === $this->loggedInUser->getUserId()) {
$friend = $rel->getUserTwo();
} else {
$friend = $rel->getUserOne();
}
return $friend;
}
方法 getFriend 来自 relation class,并且该方法的参数 Relationship $rel 我相信是 Relationship class 的一个实例。
然而没有
$rel = new Relationship
任何地方。这是通过引用传递对象吗?
我知道这是一个新手问题,所以谢谢,是的,我确实看过手册的 objects and classes 部分,所以如果我没有看手册的正确部分,你可以给我一个指向正确的方向,也谢谢。
您似乎在引用函数参数的类型提示或类型声明:
http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration
基本上这是在做什么,它要求变量的类型为 Relationship
。如果您尝试将任何其他类型的变量传递给此方法,您将收到致命错误 (PHP 5) 或异常 (PHP 7)。