我正在开发一个基于Symfony 4组件(而不是整个框架)的网站。我想知道用Symfony 4实施多语言路由的最佳实践是什么。 就目前而言,我正在像这样使用PHP路由实现:
$routes->add('product_show', new Routing\Route('/{_locale}/{shop_slug}/{product_slug}',
array(
'_controller' => 'product_controller::show'
),
array(
'_locale' => implode("|", array('en', 'fr', 'de')),
'shop_slug' => implode("|", array('shop', 'boutique', 'geschaft', 'winkel'))
)
));
但是在完成工作的同时,它不允许我专门将shop_slug'shop'与'en'语言环境链接。以下所有URL在此路由中均有效(用任何product_slug替换...):
我想匹配如下:
布线是否完全可行,还是我必须在控制器中使错误的组合无效?