我总是倾向于忘记这些内置的symfony函数来建立链接。如何在Symfony PHP中生成友好的URL?
回答
如果你的目标是让用户友好的URL在整个应用程序,用下面的办法:
1)创建的应用程序的routing.yml文件的模块/动作的路由规则。下面的例子是显示在应用程序中最近的问题一个动作一个路由规则,默认为第1页(使用寻呼机):
recent_questions:
url: questions/recent/:page
param: { module: questions, action: recent, page: 1 }
2)一旦路由规则设置,使用url_for()
帮手在您的模板中格式化传出网址。
<a href="<?php echo url_for('questions/recent?page=1') ?>">Recent Questions</a>
在这个例子中,下面的URL将构造:http://myapp/questions/recent/1.html
。
3)传入URL(请求)将由路由系统进行分析,如果在路由规则配置中发现模式匹配,则指定的通配符(即URL的:/page
部分)将成为请求参数。
您还可以使用link_to()
帮助程序输出URL,而不使用HTML标记<a>
。
此建议适用于symfony 1.0。它可能会适用于更高版本。
在您sfAction类:
串genUrl($参数=阵列(),$绝对= FALSE)
如。 ()'yourmodule/youraction?key = value & key2 = value',true);
在模板:
,这将产生一个正常的链接。
string link_to($ name,$ internal_uri,$ options = array());
例如。 link_to('My link name','yourmodule/youraction?key = value & key2 = value');
此外,如果你真的想要一个查询字符串与URL时,使用此:
link_to('My link name', 'yourmodule/youraction?key=value&key2=value',array('query_string'=>'page=2'));
否则,它会尝试路由它作为URL的一部分,并可能打破你的行动。
您可以直接生成URL,而无需先定义规则。
如果你想在动作中生成URL,你可以使用generateUrl()帮手:
$this->generateUrl('default', array('module'=>'[ModuleName]','action'=>'[ActionName]'))
如果要生成模板中的网址,你可以使用url_for()帮手:
url_for('[ModuleName]/[ActionName]', $absolute)
将$ absolute设置为true/false,如果要显示它,请不要忘记使用echo。
但是,如果你想使一个链接(类似<a href=""></a>
),的link_to()助手就行了。
- 1. Liferay页面友好的URL生成URL
- 2. 如何在liferay中生成友好的url
- 3. 生成SE友好URL .htaccess mod重写
- 4. PHP - 解析友好的URL
- 5. 如何使用Kohana生成SEO友好的URL
- 6. 如何编写.htaccess文件来生成友好的URL?
- 7. symfony FOSJsRoutingBundle生成url
- 8. Rails的 - 如何修复生成的URL是一个友好的URL
- 9. 如何在php中使用友好/重写的URL?
- 10. 是否有任何可以生成友好URL的Portal产品?
- 11. 不url中友好PHP方法下班
- 12. 如何在jqGrid中为IE7/IE6友好的代理生成onSelectRow?
- 13. 如何在Joomla中生成友好的网址?
- 14. 在symfony任务中生成绝对URL
- 15. SEO友好的URL
- 16. 重写我的URL生成SEO友好的网址
- 17. SEO友好的URL
- 18. 的.htaccess和动态生成SEO友好的URL
- 19. 从RouteData生成格式化的友好URL
- 20. 使用.htaccess和PHP的友好URL“include”
- 21. 与Liferay的友好的URL没有价值生成PARAMS
- 22. Ionic Framework中的友好URL
- 23. SEO友好的URL .htaccess的PHP
- 24. SEO友好的URL
- 25. 友好的URL 3
- 26. symfony无路由生成URL?
- 27. CodeIgniter中的Seo友好URL
- 28. 如何使用友好的URL?
- 29. 如何创建友好的URL
- 30. 如何设置友好的URL
只是一个尼特,但URL不会用.html部分构造,除非应用程序配置为这样(默认情况下不是)。 – 2008-10-10 04:50:58