thinkphp四種url訪問方式詳解

2021-08-03 12:52:23 字數 2431 閱讀 8897

為了配合所使用的url模式,我們需要能夠動態的根據當前的url設定生成對應的url位址,為此,thinkphp內建提供了u方法,用於url的動態生成,可以確保專案在移植過程中不受環境的影響。

u方法的定義規則如下(方括號內引數根據實際應用決定):

u('位址表示式',['引數'],['偽靜態字尾'],['顯示網域名稱'])

位址表示式

[模組/控制器/操作#錨點@網域名稱]?引數1=值

1&引數2=值

2...

如果不定義模組的話 就表示當前模組名稱,下面是一些簡單的例子:

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為1status為1的url位址。

但是不允許使用下面的定義方式來傳引數

u

('blog/cate/cate_id/1/status/1'

);

偽靜態字尾
u

('blog/cate'

,'cate_id=1&status=1'

,'xml'

);

u

('blog/read?id=1'

);

這個定義為例。

如果開啟了url_case_insensitive,則會統一生成小寫的url位址。

u方法還可以支援路由,如果我們定義了乙個路由規則為:

'news/:id\d'

=>

'news/read'

那麼可以使用

注意:如果你是在模板檔案中直接使用u方法的話,需要採用 的方式,具體參考模板的使用函式內容。

u

('blog/[email protected]'

,'id=1'

);

@後面傳入需要指定的網域名稱即可。

系統會自動判斷當前是否ssl協議,生成https://

thinkPHP四種URL訪問方式(二)

原文 thinkphp四種url訪問方式 二 四 url的4種訪問方式 1.pathinfo 模式 重點 http 網域名稱 專案名 入口檔案 模組名 方法名 鍵1 值1 鍵2 值2 http localhost thinkphp index.php index add name leyangjun...

thinkPHP四種URL訪問方式(二)

原文 thinkphp四種url訪問方式 二 四 url的4種訪問方式 1.pathinfo 模式 重點 http 網域名稱 專案名 入口檔案 模組名 方法名 鍵1 值1 鍵2 值2 http localhost thinkphp index.php index add name leyangjun...

thinkphp四種url訪問方式詳解

一 什麼是mvc thinkphp的mvc模式非常靈活,即使只有三個中和乙個也可以執行。m model 編寫model類 對資料進行操作 v view 編寫html檔案,頁面呈現 c controller 編寫類檔案 useraction.class.php 二 thinkphp的mvc特點 簡單了...