-1
我有一個自定義助手(MessageHelper
),其中需要訪問另一個自定義助手(IncentiveHelper
)。我遵循文檔中描述的格式,但我得到這個錯誤:在自定義助手中使用自定義助手
Undefined property: MessageHelper::$Incentive [APP/views/helpers/message.php, line 21]
這是相關的代碼塊。爲了我的眼睛,它看起來幾乎相同的1.3 docs:
class MessageHelper extends AppHelper {
public $helpers = array('Incentive');
public function rebates($rebates) {
debug($this->Incentive); exit;
}
}
的文件是按照慣例爲app/views/helpers/message.php
和app/views/helpers/incentive.php
命名並保存。一時興起,我確實嘗試了包括核心幫手(HtmlHelper
),但是失敗方式相同。
我在這裏錯過了什麼?有什麼顯而易見的,我只是沒有看到?似乎一定有,但我的眼睛開始交叉。任何在正確的方向微調將不勝感激。
的關鍵問題是:你是如何導入/包括你的消息幫手?在控制器中通過'public $ helpers = array('Message')'? – mark
嗯。那是個很好的觀點。在這種情況下,我想我在控制器中使用它(不要判斷)並使用'App :: import()'。我認爲你正在做某件事。 –
看,那是你的問題。不要那樣做:)。設計失敗 - 使它成爲一個lib或一個組件,並以正確的方式使用它。 – mark