2012-07-27 106 views
2

我在本地工作站(Windows)上安装了zend framework 1.11.11的新副本。对于我的管理模块我已创建“的login.php”形式/application/modules/admin/models/Form/Login.php下我也设置了自动加载在bootstrap.php中像在Zend Framework中找不到的类

protected function _initAutoloader() 
    { 
     $autoloader = Zend_Loader_Autoloader::getInstance(); 
     $autoloader->registerNamespace('My_'); 

     new Zend_Application_Module_Autoloader(array(
      'basePath' => APPLICATION_PATH, 
      'namespace' => 'Default') 
     ); 

     $loader = new Zend_Loader_Autoloader_Resource(array(
      'basePath' => APPLICATION_PATH.'/models/', 
      'namespace' => '') 
     ); 

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

     return $autoloader; 
    } 

我在loginAction(管理模块的IndexController.php文件)的方法,我使用

$form = new Admin_Model_Form_Login(); 

但得到以下错误: -

Fatal error: Class 'Admin_Model_Form_Login' not found in C:\wamp\www\ztest\application\modules\admin\controllers\IndexController.php

这里的login.php

的代码
class Admin_Model_Form_Login extends Zend_Form 
{ 
    public function init() 
    { 
     parent::init(); 

     $this->setAction('/admin/index/login')->setMethod('post'); 

     $account = new Zend_Form_Element_Text('account'); 
     $account->setLabel('Username')->setRequired(true); 
     $account->setOrder(1); 
     $this->addElement($account); 

     $password = new Zend_Form_Element_Password('password'); 
     $password->setLabel('Password'); 
     $password->setOrder(2); 
     $this->addElement($password); 

     $submit = new Zend_Form_Element_Submit('login'); 
     $submit->setLabel('Login'); 
     $submit->setOrder(3); 
     $this->addElement($submit); 
    } 
} 
+0

提供/应用/模块/管理/模型/表格/登录密码。 php – 2012-07-27 10:11:58

+0

在application.ini中有resources.frontController.moduleDirectory = APPLICATION_PATH“/ modules”行。它可以在模块目录中找到你的文件。您应该为自动加载资源添加模块目录。 – 2012-07-27 10:15:15

+0

你的表格应该被命名为'Admin_Form_Login'不应该吗? – vascowhite 2012-07-27 10:26:46

回答

4

您是否已将Bootstrap.php文件添加到模块路径中?

该文件应在/application/modules/admin/Bootstrap.php

类似发现这样:

class Admin_Bootstrap extends Zend_Application_Module_Bootstrap 
{ 
    //Can be left blank 
} 
+0

我忘了在admin模块下添加Bootstrap.php。 – neeraj 2012-07-27 10:47:58