0

join2つ以上のzendアプリケーションを別のアプリケーション内に配置するにはどうすればよいですか?
言い換えれば、私がこの構造を持っていると仮定しましょう:

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

http://some_url.com/coreにアクセスするときは、coreアプリケーションを表示したいのですが、 http://some_url.com/app1coreにアクセスするときは、 +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

ZendFramework1.11を使用しています。

編集

どこかで。という名前の関数を見ましたaddControllerPath。それが私が望むもののために働くかどうか誰かが私に言うことができますか?

4

1 に答える 1

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'));
于 2013-01-12T15:16:10.060 に答える