ThinkPHP使用U方法自動生成URL超鏈接

ThinkPHP使用U方法自動生成URL超鏈接

Thinkphp U方法

u 方法是 thinkphp 內(nèi)置的一個快捷方法,可以根據(jù)系統(tǒng) url 模式配置動態(tài)的生成智能的 url 地址。

由于 thinkphp 支持各種不同的?URL 模式,另外還有項目分組模式,因此當部署環(huán)境發(fā)生變化時,有時候可能會改變 URL 模式,而 U 方法正是解決不同環(huán)境配置情況下的 URL 統(tǒng)一問題。除了動態(tài)生成 URL 以自適應系統(tǒng)配置外,U 方法還有一個好處是可以自動加上偽靜態(tài)后綴。

U 方法語法

U 方法的定義規(guī)則如下:

('[分組/模塊/操作]?參數(shù)'?[,'參數(shù)','偽靜態(tài)后綴','是否跳轉(zhuǎn)','顯示域名'])

方括號內(nèi)為可選參數(shù),如果不指明分組、模塊以及操作的話,就默認為當前分組、當前模塊與當前操作。

U方法實例

U 方法作為 ThinkPHP 的系統(tǒng)函數(shù),可以直接用于操作方法中,也可用于模板中(見后面文字)。

立即學習PHP免費學習筆記(深入)”;

假設當前為 Index 模塊的 index 操作,生成當前模塊的 list 操作 URL:

U('list?cat_id=1&status=1')

生成的 URL 為相對鏈接:http://www.5idev.com/index.php/Index/list/cat_id/1/status/1

同時 U 方法還支持下面兩種定義格式,上面的例子與下面的定義格式是等效的:

U'list',array('cate_id'=>1,'status'=>1)) U'list','cate_id=1&status=1')

模板中使用 U 方法

U 方法不僅能在操作方法中動態(tài)生成 URL 地址,其實更常用的是在模板中生成超鏈接地址:

<a>超鏈接字符</a>

生成 URL 后實際的 html 代碼為:

//?Pathinfo?模式: <a>超鏈接字符</a>

U 方法屬于 ThinkPHP 系統(tǒng)函數(shù),遵循在模板中使用系統(tǒng)函數(shù)的通用方法,即配合 {: } 使用。

U 方法中使用變量

使用于模板中的 U 方法,如果要使用變量(通常如此),需要用 . 連接符:

<a>超鏈接字符</a>

各種 URL 模式下的 U 方法結(jié)果對比

U 方法根據(jù)各種 URL 模式而自適應的生成不同的 URL 格式,如上面例子在各模式下生成的 URL 對比如下:

  • 普通兼容模式:http://www.5idev.com/index.php?m=Index&a=list&cat_id=1&status=1

  • Pathinfo 模式:http://www.5idev.com/index.php/Index/list/cat_id/1/status/1

  • Rewrite 模式:http://www.5idev.com/Index/list/cat_id/1/status/1

  • Rewrite 模式,偽靜態(tài)后綴為 .html:http://www.5idev.com/Index/list/cat_id/1/status/1.html

  • Rewrite 模式,使用 – 分隔符與 .html 后綴:http://www.5idev.com/Index-list-cat_id-1-status-1.html

常見 U 方法使用例子

//?當前模塊?list?操作 U('list?cat_id=1&amp;status=1') //?其他模塊操作 U('Blog/read?id=1')????????//?生成Blog模塊的read操作,并且id為1的URL地址 //?其他分組 U('Admin/User/view?uid=1')????//?生成Admin分組的User模塊的view操作的URL地址

推薦教程:《TP5

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊8 分享