使用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
我接受任何想法:)谢谢你的帮助!
答案 0 :(得分:2)
path()
是用于路由的Twig扩展。路由是将传入的URL路由到控制器操作。
但是,如果您希望帮助程序轻松创建这些标准传出URL,则可以创建自己的树枝扩展名。
看看:http://symfony.com/doc/current/cookbook/templating/twig_extension.html
然后,您可以创建一个将{{ google('search string') }}
转换为网址的扩展程序。只有想象力才是你的界限。