Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 找不到Zend框架表单_Php_Zend Framework_Zend Form - Fatal编程技术网

Php 找不到Zend框架表单

Php 找不到Zend框架表单,php,zend-framework,zend-form,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(), ))); 在我的IndexControl

在我的
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\u include/application/controllers/LoginController.php中找不到类“LoginForm”

表单位于
应用程序/forms/Login.php
下:

class Form_Login extends Zend_Form
{
    public function init()
    {
get\u include\u path()
在使用
new LoginForm()之前抛出:

/var/www/php_include/application/。/library:/var/www/php_include/zend/1.11.7/lib‌​稀有:/var/www/php_include/application:/var/www/php_include/application/forms:。:/v‌​ar/www/php_include:/usr/share/pear/pear


有人知道如何让它工作吗?

应该给你的班级打电话 自动加载器将找到
表单\u LoginForm


但是您应该将其更改为
Form\u Login
forms/Login.php
您的类应该被调用 自动加载器将找到
表单\u LoginForm

但是您应该将其更改为
Form\u Login
forms/Login.php
试试

new Default_Form_LoginForm();
试一试


自动装弹机找不到我斯芬克斯。只需将
表单/
路径添加到include路径

// 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目录放在视图中,includepath用application.ini设置

更新

这是我的引导类的一部分:

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

自动装弹机找不到我斯芬克斯。只需将
表单/
路径添加到include路径

// 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目录放在视图中,includepath用application.ini设置

更新

这是我的引导类的一部分:

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

更改为“class Form_Login”并重命名为/forms/Login.php不起作用:/forms目录中的“s”不会把事情搞砸吗?如果您将
forms/
重命名为
form/
,会怎么样?这无关紧要。同样的问题。更改为“class Form_Login”并重命名为/forms/Login.php不起作用:/forms目录中的“s”不会把事情搞砸吗?如果您将
forms/
重命名为
form/
,会怎么样?这无关紧要。同样的问题。您可以添加LoginForm的定义吗?您可以添加LoginForm的定义吗?表单位于“forms/LoginForm.php”下,以“class LoginForm Extendes Zend_form”开头。将“/var/www/php_include/application/forms”添加到public/index.php。正在使用“new LoginForm();”获取它。。。仍然->致命错误:在第31I行的/var/www/php\u include/application/controllers/LoginController.php中找不到类“LoginForm”,我没有收到来自消息堆栈的错误,只有来自php的错误。在使用新的LoginForm()抛出之前,先获取包含路径::/var/www/php包含/application/。/library:/var/www/php包含/zend/1.11.7/library:/var/www/php包含/application:/var/www/php包含/application/forms:。:/var/www/php包含:/usr/share/pear/pear可能问题出在application.ini?Hmm中。。也许我的自动加载器已经生效了,所以它对我有效。可能你的自动装弹机工作不正常。我更新了我的答案,加入了我的引导课程。就是这样:)非常感谢!我真的需要看看表单在“forms/LoginForm.php”下,从“classloginformextensedzend_form”开始。将“/var/www/php_include/application/forms”添加到public/index.php。正在使用“new LoginForm();”获取它。。。仍然->致命错误:在第31I行的/var/www/php\u include/application/controllers/LoginController.php中找不到类“LoginForm”,我没有收到来自消息堆栈的错误,只有来自php的错误。在使用新的LoginForm()抛出之前,先获取包含路径::/var/www/php包含/application/。/library:/var/www/php包含/zend/1.11.7/library:/var/www/php包含/application:/var/www/php包含/application/forms:。:/var/www/php包含:/usr/share/pear/pear可能问题出在application.ini?Hmm中。。也许我的自动加载器已经生效了,所以它对我有效。可能你的自动装弹机工作不正常。我更新了我的答案,加入了我的引导课程。就是这样:)非常感谢!我真的需要看一看