假设我们有一个班级
class foo{
}
Run Code Online (Sandbox Code Playgroud)
并且它没有方法,但在代码中的某处,一些天才开发人员称这个类并使用它如下:
$x = new foo();
$x->run();
Run Code Online (Sandbox Code Playgroud)
我们的类中没有"run"方法,但无论如何,这个foo类可以知道一些代码称为"run"的方法吗?
您可以为类提供一个名为__call的魔法方法,在调用不存在的方法时调用该方法:
class foo{
function __call($method, $params) {
echo "Non extisent method $method is called";
}
}
Run Code Online (Sandbox Code Playgroud)