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