2

ローカルワークステーション(Windows)にzendフレームワーク1.11.11の新しいコピーをインストールしました。私の管理モジュールでは、/ application / modules / admin / models / Form / Login.phpの下に「Login.php」フォームを作成しました。また、Bootstrap.phpにオートローダーを設定しました。

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;
    }

管理モジュールのIndexController.phpファイルのloginAction()メソッドで、使用しています

$form = new Admin_Model_Form_Login();

しかし、エラーを下回る:-

致命的なエラー:クラス'Admin_Model_Form_Login'が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);
    }
}
4

1 に答える 1

5

モジュールのパスにBootstrap.phpファイルを追加しましたか?

このファイルは/application/modules/admin/Bootstrap.phpにあります。

これに似ています:

class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{
     //Can be left blank
}
于 2012-07-27T10:46:49.283 に答える