我试图在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);
答案 0 :(得分:1)
您绝对应该使用ReflectionClass和ReflectionMethod而不是字符串向导。
答案 1 :(得分:1)
您必须将呼叫链拆分为单个呼叫
$getB = "getB";
$str = "getStr";
$a = new A();
echo $a->$getB()->$str();