thinkphp中url的生成U()方法
為了配合所使用的URL模式,我們需要能夠動態的根據當前的URL設定生成對應的URL地址,為此,ThinkPHP內建提供了U方法,用於URL的動態生成,可以確保專案在移植過程中不受環境的影響。
U方法的定義規則如下(方括號內引數根據實際應用決定):
U(`[分組/模組/操作]?引數` [,`引數`,`偽靜態字尾`,`是否跳轉`,`顯示域名`])
如果不定義專案和模組的話 就表示當前專案和模組名稱,下面是一些簡單的例子:
U(`User/add`) // 生成User模組的add操作的URL地址 U(`Blog/read?id=1`) // 生成Blog模組的read操作 並且id為1的URL地址 U(`Admin/User/select`) // 生成Admin分組的User模組的select操作的URL地址
U方法的第二個引數支援陣列和字串兩種定義方式,如果只是字串方式的引數可以在第一個引數中定義,例如:
U(`Blog/cate`,array(`cate_id`=>1,`status`=>1)) U(`Blog/cate`,`cate_id=1&status=1`) U(`Blog/cate?cate_id=1&status=1`)
三種方式是等效的,都是 生成Blog模組的cate操作 並且cate_id為1 status為1的URL地址
但是不允許使用下面的定義方式來傳引數
U(`Blog/cate/cate_id/1/status/1`)
根據專案的不同URL設定,同樣的U方法呼叫可以智慧地對應產生不同的URL地址效果,例如針對
U(`Blog/read?id=1`)這個定義為例。
如果當前URL設定為普通模式的話,最後生成的URL地址是:
http://serverName/index.php?m=Blog&a=read&id=1
如果當前URL設定為PATHINFO模式的話,同樣的方法最後生成的URL地址是:
http://serverName/index.php/Blog/read/id/1
如果當前URL設定為REWRITE模式的話,同樣的方法最後生成的URL地址是:
http://serverName/Blog/read/id/1
如果當前URL設定為REWRITE模式,並且設定了偽靜態字尾為.html的話,同樣的方法最後生成的URL地址是:
http://serverName/Blog/read/id/1.html
注意:如果你是在模板檔案中直接使用U方法的話,需要採用 {:U(`引數1`, `引數2`…)} 的方式
本文轉自TBHacker部落格園部落格,原文連結:http://www.cnblogs.com/jiqing9006/p/5000825.html,如需轉載請自行聯絡原作者
相關文章
- nginx下thinkphp的URL重定向NginxPHP
- node中的url常用方法解析
- Laravel Url 生成的使用規範Laravel
- Laravel 5中去掉URL中的public路徑方法Laravel
- 關於ThinkPHP在Nginx伺服器上使用U方法跳轉問題PHPNginx伺服器
- ThinkPHP5 利用.htaccess檔案的 Rewrite 規則隱藏URL中的 index.phpPHPIndex
- 分享關於js解析URL中的引數的方法JS
- ThinkPHP常用方法PHP
- ThinkPHP6 原始碼閱讀(六):Url 解析PHP原始碼
- Laravel 生成 url,預設值Laravel
- ThinkPHP配置檔案的方法PHP
- 三種方法實現:獲取 url 中的引數
- laravel模板中生成URL的幾種模式Laravel模式
- 使用jquery獲取url及url引數的方法jQuery
- ThinkPHP5.0 Linux Apache/Nginx重寫URL配置PHPLinuxApacheNginx
- URL短網址線上生成工具
- php中ThinkPHP的用處PHP
- 生成Webservice客戶端的4中方法Web客戶端
- js解析url的三種方法JS
- 製作URL檔案的方法
- thinkphp3.2.3入門示例2(URL傳引數的幾種方式)PHP
- CI框架中的site_url()與base_url()框架
- 根據URL地址生成二維碼
- spring mvc中關於url中傳遞中文亂碼的解決方法SpringMVC
- VUE打包後配置配置檔案修改請求url方法及webpack打包的檔案生成同名檔案方法VueWeb
- django中的url函式Django函式
- ThinkPHP3.2 中 behavior 的使用PHP
- ThinkPHP 3.2 中 session 的處理PHPSession
- thinkphp 5自動生成模組目錄的兩種方式PHP
- 分散式系統中 Unique ID 的生成方法分散式
- url.cn短網址 騰訊url.cn短網址生成介面
- JS獲取URL中引數值(QueryString)的4種方法分享JS
- HttpServletRequest常用獲取URL的方法HTTPServlet
- Swift中URL處理中的注意點Swift
- thinkphp 3.2 redis memcache 呼叫方法PHPRedis
- 最新騰訊短連結url生成API介面API
- Thinkphp3.2 下載檔案的方法PHP
- C#中URL的操作類C#