2010-07-19 66 views

回答

0

简单的方式向评判内这样做(限制为一个呼叫):

public function fooBar() { 
    static $called; 
    if (isset($called)) throw new Exception('Called already once!'); 
    $called = true; 

    // your code 
} 
5

你有几个更好的选择:

  1. 处理好与类本身的一些静态变量“只能被称为一次”,并抛出异常清晰。
  2. 如果不能修改类/对象本身,则使用装饰器对象处理'只能调用一次'。

你的建议可能是非常不可取的方式,请参阅classkit_method_redefinerunkit_method_redefine,但代表的人可能在你的代码的工作在未来:请不要使用它。