コントローラのヘルパーが、一部のコントローラでpreDispatchメソッドを使用して同様の機能を持つようにしようとしました。Zendコントローラのアクションヘルパーの問題がヘルパーを追加できません
エラー:私が追加したブートストラップで
Fatal error: Class 'Helper_Action_Test' not found in /var/www/zend.dev/application/Bootstrap.php on line 9`
アプリケーションのレイアウト
/Application
/Helpers
**/Actions** this is where i will save the classes
/Views
/modules
/configs
/layouts
/Bootstrap.php
:
protected function _initActionHelpers(){
Zend_Controller_Action_HelperBroker::addHelper(new Helper_Action_Test());
}
ヘルパーファイルで私が持っている:
class Helper_Action_Test extends Zend_Controller_Action_Helper_Abstract{
public function preDispatch() {
echo 'Test';
}
}
私はこれをブートストラップで実行すると、それはincludeや、addHelper()で新しいクラスをインスタンス化しようとしているところです。
include(APPLICATION_PATH.'/helpers/action/Test.php');
Zend_Controller_Action_HelperBroker::addHelper(new Test());
こんにちはジェフ、ご返信いただきありがとうございます。これで、ヘルパーフォルダをライブラリフォルダに置く必要がありますか? – snakeyyy
この方法では、はい、あなたのヘルパーをライブラリフォルダに入れなければなりません。あなたのヘルパーを保存する方法を使用したい場合は、Zend_View_Helper_HelperNameクラスをZend_View_Helper_Abstractという名前にして、そのビューに$ this-> helperName()で呼び出せるHelperName()というパブリックメソッドを持っています。 –
アクションのヘルパーですが、私はZend_Controller_Action_Helper_Abstractを拡張してすべてのアクションコントローラの内容を取得する必要があります。 – snakeyyy