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";
}