-1

遵循 Pro Zend Framework 技术,我在模块目录中创建了一个名为“Contact”的模块。这是目录结构。

    |_应用
     |_配置
       |_应用程序.ini
     |_控制器
     |_模块
       |_联系方式
          |_控制器
             |_索引控制器
          |_型号
          |_views
          引导程序.php

    引导程序.php

应用目录下的Bootstrap文件有一个_initAutoload()函数,如下图:

    受保护的函数 _initAutoLoad(){
    $autoLoader = Zend_Loader_Autoloader::getInstance();
    $autoLoader->registerNamespace('CMS_');
    $resourceLoader = 新 Zend_Loader_Autoloader_Resource(
    array('basePath' => APPLICATION_PATH , 'namespace' => '' ,
    'resourceTypes' => array('form' => array('path' => 'forms/' , 'namespace' => 'Form_') ,
    'model' => array('path' => 'models/' , 'namespace' => 'Model_'))));

    返回 $autoLoader;
    }

模块中的引导文件是:

    Contact_Bootstrap 类扩展 Zend_Application_Module_Bootstrap
    {
    受保护的函数 _initAutoLoad(){
    $autoloader=new Zend_Application_Module_Autoloader(array('namespace'=>'Contact_',
    'basePath'=>目录名(__FILE__),));
    返回 $autoLoader;
    }
    }

config 文件夹中的 application.ini 文件具有以下几行用于设置模块“联系人”:

    resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
    资源.modules[] = ""
    contact.resources.frontController.defaultControllerName = "索引"

我已经设置了一个应用程序错误控制器,它有一个 getmessage() 函数来显示错误。当我尝试加载http://localhost/zf_cms/public/contact时,它给出了一个错误:

    getMessage() :指定的控制器无效(索引)

modules->contact->controller 中的索引控制器名称为 Contact_IndexController。我还为索引控制器创建了一个视图。

请帮我找到错误,如果我错过了一些信息,请告诉我。谢谢你。

4

1 回答 1

1

将模块和控制器目录重命名为小写。从您的帖子看来,您也没有将 .php 扩展名添加到您的 IndexController 中。

于 2012-04-14T07:42:45.307 回答