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。这不是问题的主要想法 –
我编辑了我的帖子,谢谢 –