私のプロジェクトにthis amazing calendarを統合しようとしています。私はサービスの事に困っている。コントローラクラスでサービスクラスを使用するにはどうすればよいですか?
resources.router.routes.agenda.route = /apps/agenda/
resources.router.routes.agenda.defaults.module = agenda
resources.router.routes.agenda.defaults.controller = calendar
resources.router.routes.agenda.defaults.action = view
私が上で私のブラウザを指摘し、私はこのメッセージを得た:
Message: Invalid controller class ("Agenda_CalendarController")
この私のapplication.iniでこのよう
application/
modules/
agenda/
controllers/
CalendarController.php
models/
services/
CalendarService.php
views/
filters/
helpers/
scripts/
calendar/
view-calendar.php
module2/
module3/
Iルート:私は、この種の構造を使用しています
私はそれを私のAgenda_サフィックスで修正し、ブラウザをリフレッシュしました。取得:
Message: Controller "Agenda_CalendarController" is not an instance of Zend_Controller_Action_Interface
私は "extends Zend_Controller_Action"でインスタンス化しました。取得済み::-)
Fatal error: Class 'Service_Calendar' not found in /home/[PATH TO MY APP FOLDER]/application/modules/agenda/controllers/CalendarController.php on line 30
何がうまくいかないのか分かりません。誰かが私のためにヒント2つを持っています:-)
注:私はそれが何かを意味するかどうか分かりませんが、NetBeansを使用し、コントローラクラスのサービスのクラスメソッドをホバーしている間にCtrlキーを押した場合、関連するポップアップ情報が正しい。
解決方法: ありがとうございます、あなたは私にさらに進む道を教えてくれました。私のモジュールのブートストラップは正しく設定されていませんでした。あなたのヒントと私は彼が同じ問題を記述するボブ・アレンからこのポストを見つけました。
あなたが探しているものを知っている... :-)
おかげで、私の問題は、固定されており、私はもう少しを知っています!
'application/modules/agenda/services/CalendarService.php'を' application/services/Calendar.php'に移動し、そのクラスが見つかったかどうか確認してください。アプリケーションの名前空間(Application_Service_Calendarなど)を使用してクラスの名前を変更する必要があります。 – drew010