我没有寄予厚望,这一个:额外拼抢(链接)方法调用到__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重定向。虽然看起来不可能。讨厌鬼。 –