0

我怎么能join在另一个里面有 2 个或更多的 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)也应该发生同样的事情。

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

我正在使用 Zend Framework 1.11。

编辑

我在某处看到了一个名为addControllerPath. 谁能告诉我它是否适合我想要的东西?

4

1 回答 1

2

You can get the server uri, and choose your application in 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'));
}

instead the Zend default

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
于 2013-01-12T15:16:10.060 回答