I am getting the following error :
Fatal error: Class 'Application_Form_Employee' not found in /var/www/Employee/application/controllers/EmployeeController.php on line 31
我为应用程序中的表单创建了一个单独的文件夹,并将表单Employee.php放在Employee文件夹中,该文件夹位于Forms中。 application.ini中的路由如下所示: resources.router.routes.employee.route = / employee
resources.router.routes.employee.defaults.module = default
resources.router.routes.employee.defaults.controller = Employee
resources.router.routes.employee.defaults.action = new
resources.router.routes.employee.route = /employee
resources.router.routes.employee.defaults.module = default
resources.router.routes.employee.defaults.controller = Employee
resources.router.routes.employee.defaults.action = edit
resources.router.routes.employee.route = /employee
resources.router.routes.employee.defaults.module = default
resources.router.routes.employee.defaults.controller = Employee
resources.router.routes.employee.defaults.action = index
请说明是否还需要其他信息//////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////// P.S:我试图通过改变文件夹和路由来解决这个错误。
答案 0 :(得分:0)
我认为这个链接可以帮助你使用Zend_Form。
http://framework.zend.com/manual/1.12/en/zend.form.quickstart.html
答案 1 :(得分:0)
要简单地启用表单并正确配置资源,请使用Zend_Tool cli。
在您的命令行或者您的ide是否合适(Netbeans是)时输入命令:
zf enable form
这将为应用程序级别和应用程序命名空间表单创建正确的目录。
使用应用程序级别表单时,类名称将以Application_Form_
为前缀,文件将存在于
/application
/forms
/Myform.php
如果您需要模块中的表单,只需更改命令以反映模块名称:
zf enable form -m admin
Zend_Tool cli中的几乎所有命令都可以使用 -m 开关来指定模块名称。
ZF1有许多具有自己名称空间的预定义资源,类Zend_Application_Module_Autoloader
具有默认名称空间的完整列表以及每个名称空间的默认路径。
此答案假设您的应用程序设置合理地接近默认的ZF1配置。
P.S。我注意到您的所有路线都具有相同的名称“员工”。如果您希望每条路线都能正常工作,它们需要不同的名称。个人网址应该有效,但“命名”路线不会。只有堆栈中的最后一条路线才能正常工作。
例如:
//4 lines equals one route
resources.router.routes.employee.route = /employee
resources.router.routes.employee.defaults.module = default
resources.router.routes.employee.defaults.controller = Employee
resources.router.routes.employee.defaults.action = index
//this route might work better as
resources.router.routes.editEmployee.route = /employee/edit
resources.router.routes.editEmployee.defaults.module = default
resources.router.routes.editEmployee.defaults.controller = Employee
resources.router.routes.editEmployee.defaults.action = edit
每个“命名”路线应具有唯一名称和唯一网址。
答案 2 :(得分:-1)
您不应将表单类命名为 Application_Form_Employee 。
应将其命名为 Form_Employee 。你永远不应该在Zend中使用应用程序作为前缀。
例如,位于application / Models / Test.php中的模型应命名为Model_Test,不是 Application_Model_Test。表格,服务也一样......