我沒有寄予厚望,這一個:額外拼搶(鏈接)方法調用到__get()魔法方法
由於有像$service->foo->bar($a, $b)
的foo
和具有容器類的行動服務$service
作爲受保護的財產,有沒有辦法使用容器上的__get()
訪問服務並傳遞->bar($a, $b)
?
class Container {
protected $service;
protected $responses = [];
public function __get ($name) {
$this->responses[] = $service->$name-> _???_
return $resp;
}
}
可能被攔截使容器能趕上操作,調用$service
有了它,保存響應,然後返回響應
要麼某些方式攫取其他任何被鏈接的$name
或者如果$name
只包括所有這些。我知道這有點複雜,但它會幫助我大幅清理一些代碼,再加上我現在普遍好奇。
這個應用程序運行PHP7,如果重要的話。
而且交替,如果有是辦法做到這一點,但它不是__get()
,洞察力,將不勝感激
這可能是最合理的方法。我所希望的是完全重新創建實際呼叫的語法,只是通過Container重定向。雖然看起來不可能。討厭鬼。 –