PHP反射有两个调用

时间:2016-12-09 14:00:13

标签: php reflection

我试图在php中存档一些反射。我怎样才能做出类似的东西。使用我的代码我得到以下错误:

  

未定义属性:A :: $ getB() - > getStr()

class B{
    public function getStr(){
        return 'str';
    }
}
class A{
    public function getB(){
        return new B();
    }
}

$a = new A();
$method = 'getB()->getStr()';
echo($a->$method);

2 个答案:

答案 0 :(得分:1)

您绝对应该使用ReflectionClassReflectionMethod而不是字符串向导。

答案 1 :(得分:1)

您必须将呼叫链拆分为单个呼叫

$getB = "getB";
$str = "getStr";
$a = new A();
echo $a->$getB()->$str();