1
私のZF Appでは、アクションヘルパーをロードできないという問題があります。エラーメッセージは次のとおりです。私は、モジュールにヘルパーを登録しているZend Frameworkアプリケーションのオートローダーでヘルパークラスが見つかりません
application
modules
weather
controllers
helpers
:私のZFアプリのレイアウトは、私は次のような構造を持つモジュールを使用しています
を見つけていない名前サンシャインによってアクションヘルパーここで
application -> modules -> weather -> Bootstrap.php
に配置されているブートストラップコード
です3210<?php
class Weather_Bootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initActionHelperBrokers()
{
Zend_Controller_Action_HelperBroker::addPath('controllers/helpers', 'Weather_Controllers_Action_Helper_');
}
}
<?php
class Weather_Controller_Action_Helper_Sunshine extends Zend_Controller_Action_Helper_Abstract
{
public function getSunrise()
{
return "06:00";
}
}
<?php
class Weather_ForecastsController extends Zend_Controller_Action
{
protected function getForecasts($date)
{
$sunrise = $this->_helper->Sunshine->getSunrise();
// tbc
}
ここは間違っていますか?
EDIT:示唆したように、ブートストラップにヘルパをフルパスで追加しようとしましたが、同じエラーが発生しました。
フム、私は完全なパスでそれを試してみましたが、結果は同じでした。他に何が間違っていますか? – loony
パスが実際にhelperBrokerに登録されていることを確認してください。あなたの 'getForecasts()'メソッドに 'Zend_Debug :: dump($ this - > _ helper)'を追加して、パスが登録されているかどうかを確認してください(正しい) – Pieter
モジュールのブートストラップが実行されていないことがわかりました。 addPathメソッドを一般的なブートストラップに置き、デバッガで実際に実行されていることを確認しました。それはそうです。だから私はデバッグメッセージを手に入れましたが、プラグインレジストリにパスが正しく追加されているのを見ても、デバッグメッセージにはどこかに表示されません。 – loony