如何在不触碰类的情况下从类调用函数lmn()

 class A extends B{
     public function abc(){
         return "abc";
     }
     ...
 }

 class B{
     public function xyz(){
         return "xyz";
     }
     ...
 }

 class C{
     protected function lmn(){
         return "lmn";
     }
     ...
 }

请为我引路

最佳答案

您可以创建某种从C扩展的代理类,并提供访问的公共方法:

class ProcyForC extends C {
  public function getLmn() {
    return $this->lmn();
  }
}

echo (new ProxyForC())->getLmn();

07-26 05:04