2011-03-17 28 views
0

我已經開始使用Zend框架,並且遵循這個簡單的Zend表單教程。該表單位於應用程序/表單目錄中我已將Zend框架包含在Path中(通過轉到計算機屬性)。然而,當我訪問form.php的頁面,我得到這個錯誤:致命錯誤:未找到類'Zend_Form'

Fatal error: Class 'Zend_Form' not found 

我也通過複製應用程序的庫文件夾中的Zend框架了Zend文件夾試過,但故障仍然存在一樣。謝謝。

+0

什麼這個教程?沒有鏈接。 – Marcin 2011-03-17 10:15:40

+0

請寫一些代碼.... – Pushpendra 2011-03-17 14:42:03

回答

0

這聽起來像你混淆了兩個概念:系統路徑和包含路徑。

系統路徑是操作系統的概念。當您要求操作系統執行命令時,系統路徑是查找可執行文件的位置列表。

相反,include路徑是一個PHP概念,它告訴PHP一個文件夾列表,用於查找由PHP include/require語句調用的文件。

您在「計算機>屬性」中找到的任何路徑幾乎肯定是操作系統級別的系統路徑。你需要做的是通過移動Zend文件夾或修改PHP的包含路徑來包含指向Zend文件夾的指針,確保PHP包含路徑上的Zend文件夾。

在典型的ZF應用程序中,include文件夾設置在index.php(前端控制器)中。所以,沒有找到Zend_Form的唯一解釋是自動加載器沒有被實例化。

如果您使用的是Zend_Application,則會自動發生。但是,似乎您正在通過直接「訪問」一個名爲form.php的文件來繞過public/index.php和整個Zend_Application實例化。如果此文件僅包含表單的定義(擴展爲Zend_Form),那麼缺少自動加載可以輕鬆解釋您收到的錯誤消息。

我想嘗試在控制器動作中實例化表單,在請求處理週期的哪個時間,自動加載可能已經到位。

[在這一點上,給你舉,我們可能會遇到一個資源加載器的問題,但這是一個稍微不同的問題,可以通過在Bootstrap實例化一個Zend_Application_Module_Autoloader處理的文件位置。]

0

它看起來像你不使用Zend_Loader。你應該關注它。

您也可以手動在您的自定義表單類中包含Zend_Form類。

+0

你能告訴我如何使用Zend_Loader?謝謝 – Artur 2011-03-17 10:20:19

+0

http://framework.zend.com/manual/en/zend.loader.autoloader.html – hsz 2011-03-17 10:28:26