0
class Foo {
    private $_bar;

    public function getBar() {
        return $this->_bar;
    }
}
$b = new Foo(); 
$b->xxx(); //xxx is an udefined method.

未定義のメソッドが呼び出された場合に通知をスローするように次のクラスを拡張する方法は?

4

4 に答える 4

3

__call( $methodName , $args ) メソッドを定義する必要があります。

そこから独自の例外をスローします。

于 2012-09-14T19:03:09.887 に答える
3
class Foo {
    private $_bar;

    public function getBar() {
        return $this->_bar;
    }

    public function __call($name, $params)
    {
       throw new Exception("Method $name does not exists!");
    }
}
于 2012-09-14T19:04:28.210 に答える
0

未定義の関数を呼び出すと、他の場合と同様に PHP 警告がスローされます。で有効にする必要がありますerror_reporting(E_ALL);

于 2012-09-14T19:01:57.250 に答える
0

クラスFooに__callを書く

function __call( $functionName, $argumentsArray ) {
      echo "Function $functionName does not exist";
    }

参照

于 2012-09-14T19:04:12.010 に答える