0
我有以下情況:腓typehinting的對象調用的方法,在基類中創建
class Main {
function get() {
return new Query();
}
}
class Order extends Main {
public $id;
public $name;
}
class Query {
/**
* @return Main
*/
function execute() {
/// some code here
return $parsedObject;
}
}
當我使用此代碼執行(),並得到訂單的對象(如解析的對象),我寫這篇:
$order = new Order();
$result = $order->get()->execute();
$result->id; /// typehint not works, cuz $result is type of Main, not more concrete type Order
所以我的問題是 - 有什麼辦法可以傳遞一個類型基(抽象類,接口)類實現以法解創造美麗typehint,是從基類調用,目的。因爲我可以創建用戶,擴展主類,與他自己的領域。但是調用新的User() - > get() - > excute()會給我相同的結果 - 一個Main類型的對象
'$結果 - > $ id'無論如何都不會工作,首先它是'$ result-> id'但是因爲該財產是私有的,你不能直接訪問它。 – Augwa
想象一下,道具有公共訪問,$ result調用id prop。這不是問題的主要想法 –
我編輯了我的帖子,謝謝 –