ThinkPHP函式詳解 U方法

2022-04-06 15:33:09 字數 2237 閱讀 4412

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');

複製**

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

此外,u方法的第5個引數如果設定為true,表示自動識別當前的網域名稱,並且會自動根據子網域名稱部署設定app_sub_domain_deploy和app_sub_domain_rules自動匹配生成當前位址的子網域名稱。

如果開啟了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方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為 u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用 的方...

ThinkPHP函式詳解 U方法

u方法用於完成對url位址的組裝,特點在於可以自動根據當前的url模式和設定生成對應的url位址,格式為 u 位址 引數 偽靜態 是否跳轉 顯示網域名稱 在模板中使用u方法而不是固定寫死url位址的好處在於,一旦你的環境變化或者引數設定改變,你不需要更改模板中的任何 在模板中的呼叫格式需要採用的方式...

ThinkPHP函式詳解 A方法

a方法用於在內部例項化控制器,呼叫格式 a 專案 分組 模組 控制器層名稱 最簡單的用法 user a user 複製 表示例項化當前專案的useraction控制器 這個控制器對應的檔案位於lib action useraction.class.php 如果採用了分組模式,並且要例項化另外乙個ad...