2008-11-26 32 views
8

我想在我的頁面類中使用它。我只是剛開始在PHP中使用對象,所以我仍然有點無知(但儘可能多地學習)。這是我page()功能(所謂當有頁面的新實例)PHP - 調用set_error_handler對象的函數()

set_error_handler('$this->appendError'); 

這是導致錯誤

警告:的set_error_han dler()預計參數(appendError)是一個有效的回調

現在如何設置一個類內部函數,同時將該函數作爲字符串傳遞。這不可能嗎?我應該使用一個普通函數,然後調用類函數並通過所有參數發送?這聽起來有點麻煩。

或者我錯過了這個問題?我試圖讓我的appendError返回一個字符串,並回聲..但它仍然不是很好玩。

任何幫助將不勝感激。

謝謝!

回答

20

很少有問題。

第一個:

'$this->appendError'
是一個nogo。它不會將$ this解釋爲當前類,php將其解釋爲字符串'$ this'。

二:嘗試

set_error_handler(array($this, 'appendError'));

如果不工作,與類名替換$這和靜態使用它。

+1

它的工作......非常感謝。 :) – alex 2008-11-26 05:00:21

1

閱讀php.net callback documentation。我想例3是最接近你想要的:

// Type 3: Object method call 
$obj = new MyClass(); 
call_user_func(array($obj, 'myCallbackMethod'));