多个客户端的Symfony2路由

时间:2016-05-01 20:20:52

标签: symfony url-routing multiple-instances

我对symfony很新,但我相信它会帮助我更快地发展。

所以这是我的基本问题。我想开发一个可供多个客户端使用的应用程序。他们都有自己的网址。像这样:

http://example.com/customer1
http://example.com/customer2

我知道,通过编辑routing.yml很容易做到这一点 - 这非常酷的东西

app:
    resource: "@AppBundle/Controller/"
    prefix:   /{customer}/
    type:     annotation

在AppBundle中,我可以在控制器中构建整个应用程序,symfony为我提供了框架。它将有一些编辑路线,管理路线等等。

但如果任何用户致电http://example.com/unkownCustomer/someSite

,该怎么办?

如果定义了someSite路线,则会导致问题,因为没有有效的客户。当然我可以在每个动作上处理它,但这不是很聪明。我正在考虑从symfony扩展Controller类,添加一些基本功能,例如扩展render方法以添加一些基本的东西,比如客户设置,例如客户名称,将其自动添加到twig的参数数组中,我不知道必须在每个控制器中明确地做到这一点。我认为还必须更普遍地实施一些安全功能,一个具有角色的经过身份验证的用户在其他客户站点上没有此角色或未经过身份验证。

但是,在运行针对路线的动作功能之前,我如何注入一些代码?最重要的问题 - 应该正确的方式做什么?在symfony做这件事我不得不改变主意吗?

PS:抱歉我的英语很差 - 希望你能理解我的问题。

1 个答案:

答案 0 :(得分:0)

我在过去的两天里学到了很多东西 - 那段视频以一种非常好的方式完整地回答了我的问题,以正确的方式做到了这一点!

https://knpuniversity.com/screencast/question-answer-day/symfony2-dynamic-subdomains