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=“”?就是这样,谢谢;-)把你的答案看作是我所接受的答案,即使我的问题的要点是不同的,它确实帮了我的忙!就这样,谢谢;-)把你的答案看作是我所接受的答案,即使我的问题的要点是不同的,它确实帮了我的忙!