我正在尝试使urls在我的Silex应用程序中可翻译。
首先,我尝试覆盖UrlGenerator和RedirectableUrlMatcher,但这并不能真正起作用。
然后,我尝试重写:
$app['route_class'] = 'My\Translatable\Route';使用如下代码:
class Route extends Silex\Route
{
public function setPattern($pattern)
{
return parent::setPattern(str_replace('admin', 'admin2', $pattern));
}
}但我要去找https://gist.github.com/6c60ef4b2d8d6584eaa7。
实现这一目标的正确方法是什么?
发布于 2012-10-19 16:36:14
因此,解决方案是扩展RedirectableUrlMatcher并覆盖匹配方法,而不是路由。
Matcher.php
class Matcher extends Silex\RedirectableUrlMatcher
{
public function match($pathInfo)
{
return parent::match(str_replace('/admin', '/', $pathInfo));
}
}app.php
$app['url_matcher'] = $app->share(function () use ($app) {
return new Matcher($app['routes'], $app['request_context']);
});现在,当我访问silex时,http://domain.com/admin会返回http://domain.com/的内容。希望这就是你需要的。
https://stackoverflow.com/questions/12969238
复制相似问题