我在本地工作站(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);
}
}
提供/应用/模块/管理/模型/表格/登录密码。 php – 2012-07-27 10:11:58
在application.ini中有resources.frontController.moduleDirectory = APPLICATION_PATH“/ modules”行。它可以在模块目录中找到你的文件。您应该为自动加载资源添加模块目录。 – 2012-07-27 10:15:15
你的表格应该被命名为'Admin_Form_Login'不应该吗? – vascowhite 2012-07-27 10:26:46