2010-07-19 67 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,但代表的人可能在你的代碼的工作在未來:請不要使用它。