Zend framework Zend:在模块中使用表单

Zend framework Zend:在模块中使用表单,zend-framework,module,zend-form,Zend Framework,Module,Zend Form,我尝试将表单与模块一起使用,它们应该存储在模块中。因此,首先我的文件结构: application/ (...other directories) modules/ group/ controllers/ IndexController.php (...controllers) forms/ Create.php views/

我尝试将表单与模块一起使用,它们应该存储在模块中。因此,首先我的文件结构:

application/
   (...other directories)
   modules/
       group/
          controllers/
             IndexController.php
             (...controllers)
          forms/
             Create.php
          views/
             scripts/
                (...view scripts)
          Bootstrap.php
在IndexController中,我试图通过

new Group_Form_Create()
php中的类当然是groupformcreate。我收到以下错误消息:

Fatal error: Class 'Group_Form_Create' not found in (...)\application\modules\group\controllers\IndexController.php on line 380
带有类组_Bootstrap的Bootstrap.php只是一个空类。
实际上,我使用的是默认的Zend结构,但它无论如何都不起作用。有什么想法可以解决问题或者什么可能的解决方案吗?

理想情况下,它应该是开箱即用的

将此项添加到引导中:

protected function _initAutoload() {

    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => 'Group_',
        'basePath' => dirname(__FILE__),
      ));

    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
    return $autoloader;

}理想情况下,它应该是开箱即用的

将此项添加到引导中:

protected function _initAutoload() {

    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => 'Group_',
        'basePath' => dirname(__FILE__),
      ));

    Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
    return $autoloader;
}

在我的模块引导(APPLICATION\u PATH/modules/group/bootstrap.php)中,如果使用以下代码:

    //Loads the autoloader resources
    $this->_moduleName = 'group';
    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
            'basePath' => APPLICATION_PATH ."/modules/".$this->_moduleName."/",
            'namespace' => '',
            'resourceTypes' => array(
                    //Tells the application where to find the forms
                    'form' => array(
                            'path' => 'forms/',
                            'namespace' => ucfirst($this->_moduleName).'_Form_'
                    ),
                    //Tells the application where to find the models
                    'model' => array(
                            'path' => 'models/',
                            'namespace' => ucfirst($this->_moduleName).'_Model_'
                    )
            )
    ));
然后我将这些形式或模型称为:

$frm = new Group_Form_Create();
我在所有模块中使用相同的代码段,只更改$this->\u moduleName的值;每一次

希望这有帮助

在我的模块引导(APPLICATION_PATH/modules/group/bootstrap.php)中,如果使用以下代码:

    //Loads the autoloader resources
    $this->_moduleName = 'group';
    $resourceLoader = new Zend_Loader_Autoloader_Resource(array(
            'basePath' => APPLICATION_PATH ."/modules/".$this->_moduleName."/",
            'namespace' => '',
            'resourceTypes' => array(
                    //Tells the application where to find the forms
                    'form' => array(
                            'path' => 'forms/',
                            'namespace' => ucfirst($this->_moduleName).'_Form_'
                    ),
                    //Tells the application where to find the models
                    'model' => array(
                            'path' => 'models/',
                            'namespace' => ucfirst($this->_moduleName).'_Model_'
                    )
            )
    ));
然后我将这些形式或模型称为:

$frm = new Group_Form_Create();
我在所有模块中使用相同的代码段,只更改$this->\u moduleName的值;每一次


希望这有帮助

听起来您的模块引导没有运行。这些由模块资源触发,如果您有:

resources.modules[] = ""

应用程序.ini中
。因此,如果它不存在,请添加它。

听起来您的模块引导没有运行。这些由模块资源触发,如果您有:

resources.modules[] = ""

应用程序.ini中
。因此,如果它不存在,请添加它。

适用于
应用程序路径/modules/group/'
作为基本路径,但仅在主引导中,而不在模块之一中。你知道如何在小组引导中实现这一点吗?对演出来说会好得多。我想组引导程序只是没有使用过……与
APPLICATION\u路径一起工作/modules/group/'
作为基本路径,但仅在主引导中,而不在模块之一中。你知道如何在小组引导中实现这一点吗?对演出来说会好得多。我想Group_引导只是没有使用……这里的问题是一样的:站点将是一个高性能系统,不仅有一个模块,而且出于某种原因Group_引导没有执行。知道为什么吗?在您的主ini配置文件中,是否添加了行resources.modules=“”?这里的问题是相同的:该站点将是一个高性能系统,不仅有一个模块,而且由于某些原因无法执行Group_引导。知道为什么吗?在主ini配置文件中,是否添加了行resources.modules=“”?就是这样,谢谢;-)把你的答案看作是我所接受的答案,即使我的问题的要点是不同的,它确实帮了我的忙!就这样,谢谢;-)把你的答案看作是我所接受的答案,即使我的问题的要点是不同的,它确实帮了我的忙!