今晚我遇到了问题。我会从类中调用这样的方法:
function callMethod($method) {
$class = new Class();
$class->$method;
}
callMethod('Mymethodname()');
但它告诉我:
注意:未定义的属性:Class :: $ Mymethodname();
有人解决这个问题吗?
答案 0 :(得分:3)
你试过$class->$method();
吗?
但是在尝试调用之前,你应该检查$ method是否是一个有效且可调用的函数名。
if (method_exists($class, $method)) $class->$method();
答案 1 :(得分:2)
很简单,你忘记了括号:
$class->$method;
应该是
$class->$method();
此外,您应该检查所述方法是否可用:
<?php
function callMethod($name) {
$class = new Class();
if(method_exists($class, $name)) { return $class->$name(); }
else return null;
}
?>