我總是傾向於忘記這些內置的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