class Foo {
private $_bar;
public function getBar() {
return $this->_bar;
}
}
$b = new Foo();
$b->xxx(); //xxx is an udefined method.
如果调用未定义的方法,如何增强以下类以引发通知?
class Foo {
private $_bar;
public function getBar() {
return $this->_bar;
}
}
$b = new Foo();
$b->xxx(); //xxx is an udefined method.
如果调用未定义的方法,如何增强以下类以引发通知?
您必须定义一个 __call( $methodName , $args ) 方法。
并从那里抛出你自己的异常。
class Foo {
private $_bar;
public function getBar() {
return $this->_bar;
}
public function __call($name, $params)
{
throw new Exception("Method $name does not exists!");
}
}
当您调用未定义的函数时,会像其他任何时候一样抛出 PHP 警告。您需要使用error_reporting(E_ALL);
.
在 Foo 类中编写 __call
function __call( $functionName, $argumentsArray ) {
echo "Function $functionName does not exist";
}