您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關ThinkPHP使用U方法自動生成URL超鏈接的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
ThinkPHP U方法
U 方法是 ThinkPHP 內置的一個快捷方法,可以根據系統 URL 模式配置動態的生成智能的 URL 地址。
由于 ThinkPHP 支持各種不同的 URL 模式,另外還有項目分組模式,因此當部署環境發生變化時,有時候可能會改變 URL 模式,而 U 方法正是解決不同環境配置情況下的 URL 統一問題。除了動態生成 URL 以自適應系統配置外,U 方法還有一個好處是可以自動加上偽靜態后綴。
U 方法語法
U 方法的定義規則如下:
('[分組/模塊/操作]?參數' [,'參數','偽靜態后綴','是否跳轉','顯示域名'])
方括號內為可選參數,如果不指明分組、模塊以及操作的話,就默認為當前分組、當前模塊與當前操作。
U方法實例
U 方法作為 ThinkPHP 的系統函數,可以直接用于操作方法中,也可用于模板中(見后面文字)。
假設當前為 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 方法不僅能在操作方法中動態生成 URL 地址,其實更常用的是在模板中生成超鏈接地址:
<a href="{:U('list?cat_id=1&status=1')}">超鏈接字符</a>
生成 URL 后實際的 html 代碼為:
// Pathinfo 模式: <a href="http://www.5idev.com/lindex.php/blog/list/cat_id/1/status/1">超鏈接字符</a>
U 方法屬于 ThinkPHP 系統函數,遵循在模板中使用系統函數的通用方法,即配合 {: } 使用。
U 方法中使用變量
使用于模板中的 U 方法,如果要使用變量(通常如此),需要用 . 連接符:
<a href="{:U('blog/list?cat_id='.$vo['cat_id'].'&status=1')}">超鏈接字符</a>
各種 URL 模式下的 U 方法結果對比
U 方法根據各種 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 模式,偽靜態后綴為 .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&status=1') // 其他模塊操作 U('Blog/read?id=1') // 生成Blog模塊的read操作,并且id為1的URL地址 // 其他分組 U('Admin/User/view?uid=1') // 生成Admin分組的User模塊的view操作的URL地址
關于“ThinkPHP使用U方法自動生成URL超鏈接的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。