致命错误:找不到类'Zend_Form'

时间:2011-03-17 09:47:55

标签: zend-framework

我已经开始使用Zend框架了,我正在遵循这个简单的Zend表单教程。表单位于application / forms目录中我已将Zend框架包含在Path中(通过转到计算机属性)。但是,当我访问form.php页面时,我收到此错误:

Fatal error: Class 'Zend_Form' not found 

我还尝试过从应用程序的库文件夹中的Zend框架复制Zend文件夹,但错误仍然保持不变。感谢。

2 个答案:

答案 0 :(得分:0)

看起来你不使用Zend_Loader。你应该专注于它。

您也可以在自定义表单类中手动添加Zend_Form类。

答案 1 :(得分:0)

听起来你混淆了两个概念:系统路径和包含路径。

系统路径是操作系统概念。当您要求操作系统执行命令时,系统路径是一个查找可执行文件的位置列表。

相比之下,include路径是一个PHP概念,告诉PHP一个文件夹列表,在其中查找由PHP include/require语句调用的文件。

您在“计算机>属性”中找到的任何路径几乎肯定都是操作系统级别的系统路径。您需要做的是确保PHP包含路径上的Zend文件夹,方法是移动Zend文件夹或修改PHP的包含路径以包含指向Zend文件夹的点。

在典型的ZF应用程序中,include文件夹设置在index.php(前端控制器)中。因此,没有找到Zend_Form的唯一解释是自动加载器没有被实例化。

如果您使用的是Zend_Application,则会自动执行此操作。但是,通过尝试直接“访问”名为public/index.php的文件,您似乎绕过Zend_Application和整个form.php实例化。如果此文件仅包含表单的定义(扩展Zend_Form),则缺少自动加载可以很容易地解释您收到的错误消息。

我尝试在控制器操作中实例化表单,在请求处理周期中,自动加载可能已经到位。

[此时,鉴于您引用的文件位置,我们可能会遇到资源加载器问题,但这可以通过在Zend_Application_Module_Autoloader中实例化Bootstrap来解决这个问题。 ]