未找到Zend Framework表单

时间:2011-06-28 11:59:47

标签: php zend-framework zend-form

在我的public/index.php我定义了包含路径:

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    '/var/www/php_include/zend/1.11.7/library',
    '/var/www/php_include/application',
    get_include_path(),
)));

在我的IndexController中,我想用

引用我的表单
new Form_Login();

但我收到错误:

  

致命错误:第31行的/var/www/php_include/application/controllers/LoginController.php中找不到“LoginForm”类

表单位于application/forms/Login.php

class Form_Login extends Zend_Form
{
    public function init()
    {
使用get_include_path()之前

new LoginForm()

  

的/ var / WWW / php_include /应用/../库:/var/www/php_include/zend/1.11.7/lib郭宝宏:/无功/网络/ php_include /应用:/无功/网络/ php_include /应用/形式::/ v AR /网络/ php_include:在/ usr /共享/梨/ PEAR

任何人都知道如何使这个工作?

3 个答案:

答案 0 :(得分:2)

自动加载器不会找到我的狮身人面像。只需将您的forms/路径添加到包含路径即可。

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    '/var/www/php_include/zend/1.11.7/library',
    '/var/www/php_include/application',
    '/var/www/php_include/application/forms',
    get_include_path(),
)));

现在将您的文件重命名为LoginForm.php,将您的班级名称重命名为LoginForm

然后使用

new LoginForm(); 

这与我的项目完全相同,只是我的forms-dir放在视图中,includepath用application.ini设置

<强>更新

这是我的Bootstrap类的一部分:

function _initAutoloader() {
    $autoloader = Zend_Loader_Autoloader::getInstance();
    $autoloader->setFallbackAutoloader(true);
    return $autoloader;
}

答案 1 :(得分:1)

你的班级应该被召唤 自动加载器可以找到Form_LoginForm

但您应将其更改为Form_Loginforms/Login.php

答案 2 :(得分:0)

尝试

new Default_Form_LoginForm();