使用UrlGenerator生成到外部路由的URL

时间:2012-05-29 19:47:53

标签: php symfony1 silex

使用Silex(PHP微框架),可以为现有控制器提供名称,以便我们以后可以轻松地为它们生成URL。例如:

$app->get('/gallery', function () {...})
    ->bind('gallery');

// Later on, in a template
{{ path('gallery') }}

我认为这非常有用,没有它我就活不下去。

但是可以注册到外部网站的路线吗?说我想为谷歌搜索生成网址,有点

{{ path('google', {'search':'symfony'}) }}
// Would render to http://google.com/search?q=symfony

我接受任何想法:)谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

path()是用于路由的Twig扩展。路由是将传入的URL路由到控制器操作。

但是,如果您希望帮助程序轻松创建这些标准传出URL,则可以创建自己的树枝扩展名。

看看:http://symfony.com/doc/current/cookbook/templating/twig_extension.html

然后,您可以创建一个将{{ google('search string') }}转换为网址的扩展程序。只有想象力才是你的界限。