0

我用模块创建了 ZendFramework 1.12 应用程序。这个想法是在模块中拥有 API 的版本,带有 RESTfull 路径。

默认模块是 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。

4

0 回答 0