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