4

sf2に2つのバンドルがあり、それぞれに同じルートがあります。例:/ blog

バンドルA

user_blog:
    pattern:  /blog
    defaults: { _controller: UserBlogBundle:Default:blog }

バンドルB

team_blog:
    pattern:  /blog
    defaults: { _controller: TeamBlogBundle:Default:blog }

セッションパラメータを使用すると、どのバンドルがリクエストを実行するかがわかります

ごめん、

セッションパラメータに従って正しいバンドルを実行したい

{{
if($Parameter ='A')
 run user_blog
else
 run team_blog
}}

私はこれを作ります:

//src/project/TestBundle
use Symfony\Component\Routing\RouteCollection;

$collection = new RouteCollection();
$req = $this->getRequest();
if($req->server->get('SERVER_NAME') == 'www.domainA.com')
$collection->addCollection($loader->import("@BundleABundle/Resources/config/routing.php"));
else
$collection->addCollection($loader->import("@BundleBBundle/Resources/config/routing.php"));
return $collection;

これはいつもですか?

4

2 に答える 2

0

私の意見では、各ルートは一意でなければなりません。それを念頭に置いてアプリケーションを構築する必要があります。そうしないと、これらのルートにアクセスするときにランダムな動作が発生する可能性があると思います。

于 2012-07-18T14:18:45.233 に答える
0

それは2.2バージョンのパラメータホストで解決されました

http://symfony.com/doc/master/components/routing/hostname_pattern.html

Bundle A

user_blog:
    pattern:  /blog
    host: a.example.com
    defaults: { _controller: UserBlogBundle:Default:blog }

Bundle B

team_blog:
    pattern:  /blog
    host: b.example.com
    defaults: { _controller: TeamBlogBundle:Default:blog }
于 2013-03-20T18:34:38.633 に答える