根据要求加入zend应用程序



我如何在另一个应用程序中join个或多个zend应用程序?
换句话说,假设我有这样的结构:

    /core
        /application
        /public
        ...
    /app1
        /application
        /public
        ...
    /app2
        /application
        /public
        ...

当访问http://some_url.com/core时,我想显示core应用程序,但当访问http://some_url.com/app1时,我想显示core + app1应用程序。
基本上,它应该显示http://some_url.com/core相同的东西,但与app1应用程序上存在的额外链接/操作。

同样的事情应该发生在http://some_url.com/app2 (core + app2)。

我想我可以为应用程序app1和app2创建一个不同的index.php,以便加载"核心"应用程序,但是,我的问题是,我不知道我怎么能访问app1或app2的控制器/动作,如果我这样做,使用例如
http://some_url.com/app1/controller_A/action_B

我使用的是Zend Framework 1.11.

编辑

我在某处看到一个名为addControllerPath的函数。谁能告诉我,它是否能达到我的目的?

您可以获得服务器uri,并在index.php

中选择您的应用程序。
// Define path to application directory
$uri = $_SERVER["REQUEST_URI"];
if (strpos($uri, 'core') == 1) {
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../core'));
}
elseif (strpos($uri, 'app1') == 1) {
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../app1'));
}
elseif (strpos($uri, 'app2') == 1) {
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../app2'));
}
else {
    defined('APPLICATION_PATH')
        || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../default'));
}

而不是Zend默认的

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

相关内容

  • 没有找到相关文章

最新更新