我怎样才能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(核心+ app2)也应该发生同样的事情。
我认为我可以为应用程序app1和app2创建不同的index.php
以加载“核心”应用程序但是,我的问题是我不知道如何访问app1的控制器/操作或app2,如果我这样做,例如,使用http://some_url.com/app1/controller_A/action_B
我正在使用Zend Framework 1.11。
修改
我在某处找到了一个名为addControllerPath
的函数。谁能告诉我它是否适用于我想要的东西?
答案 0 :(得分:2)
您可以获取服务器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'));