我正在寻找一种解决方案,我可以在Silex中将不同的URL路由到控制器,以使我的代码更有条理。
问题是我需要使用不同语言路由到同一个controllerProvider的一些路由:
$app->mount("/{_locale}/string-in-english", new App\Controllers\myController());
$app->mount("/{_locale}/string-in-spanish", new App\Controllers\ myController());
其中/ string-in-english和/ string-in-spanish被路由到同一个控制器。
最有可能的是,可能的路由被插入到数据库的表中。
提前问候和感谢。
答案 0 :(得分:0)
完整的i18n路由非常棘手,您需要使用翻译服务和对可以处理可翻译路径的mount()的单次调用。
看看this article。有一些有趣的评论,作者发表了I18nRoutingServiceProvider。
在我看来,Silex在简单的应用程序中使用时会摇摆不定,但是当你开始添加这种功能时它会变得非常困难。有时在Symfony应用程序中实现它们更容易。