為了配合所使用的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位址是:
如果當前url設定為pathinfo模式的話,同樣的方法最後生成的url位址是:
如果當前url設定為rewrite模式的話,同樣的方法最後生成的url位址是:
如果當前url設定為rewrite模式,並且設定了偽靜態字尾為.html的話,同樣的方法最後生成的url位址是:
注意:如果你是在模板檔案中直接使用u方法的話,需要採用 的方式
thinkphp5 0 URL 位址生成
使用系統類 使用助手函式 use think url 輸出首頁位址 url build index index index 這個也是輸出首頁位址 url index index index 帶引數的url位址 use think url 輸出首頁位址 url build index index in...
thinkphp 使用U方法自動生成URL超連結
u 方法是 thinkphp 內建的乙個快捷方法,可以根據系統 url 模式配置動態的生成智慧型的 url 位址。由於 thinkphp 支援各種不同的 url 模式,另外還有分組模式,因此當環境發生變化時,有時候可能會改變 url 模式,而 u 方法正是解決不同配置情況下的 url 統一問題。除了...
ThinkPHP 專案分組URL生成與URL訪問
專案分組中的u方法生成url u 分組名 模組 操作?引數 專案分組url訪問方式 啟用了專案分組後,多個分組全都會採用同乙個入口檔案進行訪問的形式。因此除了預設的專案分組外,其餘分組的url訪問要在入口位置後加上乙個專案組名稱。預設分組url 假設預設分組名稱為 home 以 www.phplo....