2012-02-28 83 views
-1

我知道還有其他與我的問題重疊的StackOverflow問題,但我還沒有在其中找到答案,所以我將在此提供一些具體信息,並希望有人可以提供幫助。未找到'My_Form_Login'類(Zend Framework)...爲什麼?

在我的ZF 1.11.10項目,我在

/application/forms/Login.php 

定義類My_Form_Login()我的application.ini有:

appnamespace = My 

我在嘗試時,沒有發現從PHP致命錯誤一類從我的一個控制器創建一個新的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 2012-02-28 20:04:21

+0

對不起@mahok - 我不確定要從一開始就添加多少細節。我當然有檢查過的情況下,拼寫等,但你不知道從我的問題...我將在未來銘記這一點!正如你所看到的,我已經發布了一個問題的答案......花了我一段時間才找到!感謝您的輸入。 – 2012-02-29 17:20:06

回答

1

昨天我的確有同樣的問題,我是Zend的新手,所以我不確定我的anwser是否正確。

對我而言,我通過初始化我以前沒有使用過的自動加載程序來解決這個問題,並將其固定在我的index.php文件中;

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

+0

恐怕沒有奏效。 – 2012-02-28 16:56:17

1

把你的窗體類的庫文件夾(或任何地方包括路徑)項目(保持My_Form_Login類名)

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

中的application.ini把

[production] 
... 
autoloaderNamespaces.my = "My_" 
... 
+0

謝謝 - 但這是一個解決方法,而不是解決問題。從頭開始重建項目並比較application.ini,我現在發現了這個問題。感謝您的幫助。 – 2012-02-28 22:37:32

1

事實證明,錯誤發生是因爲我的application.ini中缺少這些條目:

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

這些行修復即使我的引導是空的問題:大概包括上述,這意味着Boostraps父類的構造被運行,這似乎是必要的資源裝載機踢付諸行動。