繁体   English   中英

根据要求加入zend应用程序

[英]join zend applications on request

我如何在另一个应用程序中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)也应该出现同样的情况。

我想我可以为应用程序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'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM