在这里的建议,我已经尝试学习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我相信是一个关系类的实例。然而没有
$rel = new Relationship
任何地方。这是通过引用传递一个对象?我知道这是一个新手问题,所以谢谢,是的,我看过手册的objects and classes部分,所以如果我不看手册的正确部分,并且可以给我一个正确方向的指针,谢谢。
所以即使{$ rel}不是已经是一个类的实例化,这个工作吗?是否因为对象已经存储在内存中? – user74091
或者我相信你是对的,但你能详细说明一下吗? – user74091
对象$ rel必须已经被实例化并且具有Relationship类型才能传递给此方法。这不会实例化任何东西。它只是几天“所有变量不是类型关系,在这里不受欢迎”。 – DrDamnit