簡體   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