Zend-framework 1.12模块:链接总是导致默认模块

时间:2013-07-09 13:18:05

标签: zend-framework url module

我使用模块创建了ZendFramework 1.12应用程序。 我们的想法是在模块中使用RESTfull路径创建API版本。

默认模块是V1,现在当我尝试创建v1s1模块时,所有链接仍然会导致V1。

任何人都可以把我推向正确的方向如何解决这个问题?

更多详情

这是我必须使用模块的代码。

application.ini

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
resources.frontController.defaultModule = "v1"
resources.modules[] =

v1.boostrap.path = APPLICATION_PATH "/modules/v1/Bootstrap.php"

resources.frontController.plugins.putHandler = Zend_Controller_Plugin_PutHandler
routes.rest.type = Zend_Rest_Route
routes.rest.defaults.module = v1

主要Bootstrap.php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{

    protected function _initAppAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'V1s1',
            'basePath' => APPLICATION_PATH . '/modules/v1s1',
        ));
        $autoloader->addResourceType('model', 'models', 'Model');
        return $autoloader;
    }

}

V1 Bootstrap.php

class V1_Bootstrap extends Zend_Application_Module_Bootstrap
{
    protected $_moduleName = "v1";

    protected function _initAutoload()
    {
        // Add autoloader empty namespace
        $autoLoader = Zend_Loader_Autoloader::getInstance();
        $autoLoader->registerNamespace('v1_');

        return $autoLoader;
    }

    protected function _initResourceLoader()
    {
        Zend_Controller_Action_HelperBroker::addPath(APPLICATION_PATH . '/modules/v1/controllers/helpers');
    }

    public function _initRouts()
    {
        $front     = Zend_Controller_Front::getInstance();
        $restRoute = new Zend_Rest_Route($front, array(), $arrayOfControllers));
        $front->getRouter()->addRoute('rest', $restRoute);
    }

}

现在我需要创建模块v2,但是当我这样做时,我一切都崩溃了。链接不再是RESTfull,每个链接仍然会导致V1模块。正在访问V2模块Bootstrap.php。

0 个答案:

没有答案