u方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為:
u('位址','引數','偽靜態','是否跳轉','顯示網域名稱');
在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何**。
在模板中的呼叫格式需要採用
的方式u方法的用法示例:u
('user/add'
)// 生成user模組的add操作位址
複製**
也可以支援分組呼叫:u
('home/user/add'
)// 生成home分組的user模組的add操作位址
複製**
當然,也可以只是寫操作名,表示呼叫當前模組的u
('add'
)// 生成當前訪問模組的add操作位址
複製**
除了分組、模組和操作名之外,我們也可以傳入一些引數:u
('blog/read?id=1'
)// 生成blog模組的read操作 並且id為1的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'
)複製**
但是不允許使用下面的定義方式來傳引數: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
複製**
如果你同時還設定了pathinfo分隔符的話:'url_pathinfo_depr'
=>
'_'複製**
就會生成http
://servername/blog_read_id_1
複製**
如果當前url設定為rewrite模式,並且設定了偽靜態字尾為html的話,同樣的方法最後生成的url位址是:http
://servername/blog/read/id/1.html
複製**
如果設定了多個偽靜態支援,那麼會自動取第乙個偽靜態字尾新增到url位址後面,當然你也可以手動在u方法裡面指定要生成的偽靜態字尾,例如:u
('blog/read'
,'id=1'
,'xml'
)複製**
就會生成http
://servername/blog/read/id/1.xml
複製**
u方法還可以支援路由,如果我們定義了乙個路由規則為:'news/:id\d'
=>
'news/read'
複製**
那麼可以使用u
('/news/1'
)複製**
最終生成的url位址是:http
://servername/index.php/news/1
複製**
如果你的應用涉及到多個子網域名稱的操作位址,那麼也可以在u方法裡面指定需要生成位址的網域名稱,例如:u
('blog/[email protected]'
,'id=1'
);複製**
@後面傳入需要指定的網域名稱即可。
如果開啟了url_case_insensitive,則會統一生成小寫的url位址。3.1.2版本開始,u方法還可以支援生成url位址中的錨點,例如:u
('blog/read#comment'
,'id=1'
,'html'
)複製**
就會生成http
://servername/blog/read/id/1.html#comment
複製**
如果網域名稱和錨點同時使用的話,注意順序為先錨點後網域名稱,例如:u
('blog/read#comment@blog'
,'id=1'
);複製**
ThinkPHP函式詳解 U方法
u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用的方式 u方法的用法示例 u user add 生成user模組的add操作位址 複製 也可以支援分組呼叫 u ...
ThinkPHP函式詳解 U方法
u方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為 u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用的方式...
ThinkPHP函式詳解 A方法
a方法用於在內部例項化控制器,呼叫格式 a 專案 分組 模組 控制器層名稱 最簡單的用法 user a user 複製 表示例項化當前專案的useraction控制器 這個控制器對應的檔案位於lib action useraction.class.php 如果採用了分組模式,並且要例項化另外乙個ad...