Sun*_*mar 1 php routing yaml symfony
我正在 Symfony 2 中开发一个多子域 Web 应用程序。
子域:
admin.example.com 是主要的托管站点。member.example.com 是另一个指向相同源代码的子域。正如此处的文档中所述,我将路由配置如下:
父路由member.example.com:
my_app_member:
resource: "@member.yml"
prefix: /
host: "member.example.com"
Run Code Online (Sandbox Code Playgroud)
注意:上面的路由是 中member.example.com定义的所有路由的父路由配置member.yml。
**现在我有另一条路线admin.example.com:**
admin_user_mod:
path: /admin/new
defaults: { _controller: "somecontroller" }
Run Code Online (Sandbox Code Playgroud)
但是,如果我必须admin_user_mod使用代码为路线生成完整的 url :
$modLink = $this->get("router")->generate('admin_user_mod');
Run Code Online (Sandbox Code Playgroud)
生成的路线路径是正确的,但基本URL仍然停留为member.example.com这应该是admin.example.com
有没有办法,或者我在上面的路由配置中缺少任何内容来获得所需的结果。
或者
是否有任何 symfony 事件侦听器来覆盖路由器的“ generate()”方法调用?
你所有的投入都是非常可观的。
谢谢
路由器有getContext()你可以使用的方法:
$context = $this->getContainer()->get('router')->getContext();
$context->setHost('admin.example.com');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |