在這裏的建議,我已經嘗試學習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