2012-02-28 15 views
-1

質問と重複する他のStackOverflow質問がありますが、回答が見つからなかったので、ここでいくつか具体的に説明し、うまくいけば誰かが助けることにします。私は(クラスMy_Form_Loginを定義し、私のZF 1.11.10プロジェクト)では'My_Form_Login'クラスが見つかりませんでした(Zend Framework)...なぜですか?

/application/forms/Login.php 

に私のapplication.iniがあります

appnamespace = My 

私がしようとしたときにPHPから致命的なエラーを発見していないクラスを取得します私のコントローラの1つから新しいMy_Form_Login()を作成します。

$oResourceLoader->addResourceType('forms', "forms/", 'Form'); 

あるいは

$oResourceLoader->addResourceType('forms', "forms/", 'My_Form'); 

しかし、私が行う場合でも:それはすでにデフォルトのリソースタイプだから

さて、私はそれを理解し、私は私のブートストラップに次のように必要はありませんこれを追加すると、私は致命的なエラーが発生します。助けてください!

+0

エラーメッセージとコントローラ/フォームからのコードを提供してもらえますか?例:GNU/LinuxまたはMacシステムで作業している場合、ファイルシステムでは大文字と小文字が区別されます。あなたのパスとクラス名が一致していますか?つまり '/ application/forms/Login.php'ファイルは' My_Form_Login'と呼ばれ、 'My_form_Login'などとは呼ばれません。 – dbrumann

+0

申し訳ありません@マホーク - 最初から追加する詳細がどれほどか分かりませんでした。私はもちろん、大文字小文字やスペルなどをチェックしていたが、私の質問からそのことを知ることはできなかった...私は将来そのことを念頭に置くだろう!あなたが見ることができるように、私は問題への答えを掲示しました...私はかなり時間をかけて見つけました!あなたのご意見ありがとうございます。 –

答えて

1

私はちょうど昨日、まったく同じ問題を抱えていました。私はそれがZendになると初心者ですので、アンカーが正しいかどうかわかりません。

私の場合は、これまでになかったautloaderを初期化してindex.phpファイルに修正しました。 application.iniでのプロジェクトの

http://framework.zend.com/manual/en/zend.loader.autoloader.html

+0

私はうまくいきませんでした。 –

1

ライブラリフォルダにフォームクラスを入れて(または任意の場所をインクルードパス中)(My_Form_Loginクラス名を続ける)

/application/... 
/library/My/Form/Login.php 
... 
/public 

を置きます
[production] 
... 
autoloaderNamespaces.my = "My_" 
... 
+0

ありがとう - それは問題を解決するのではなく、回避策です。最初からプロジェクトを再構築してapplication.iniを比較したところ、問題が見つかりました。助けてくれてありがとう。 –

1

私のapplication.iniの次のエントリがないためにエラーが発生していました。

bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 

これらの行は、私のブートストラップが空であっても問題を解決します:おそらく上記を含むことで、Boostraps親コンストラクタが実行され、リソースローダーを動作させるのに必要なようです。

関連する問題