溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ThinkPHP ~function()和function()方法和U方法

發(fā)布時間:2020-07-06 21:41:58 來源:網(wǎng)絡(luò) 閱讀:285 作者:anbaojia 欄目:web開發(fā)

1、執(zhí)行函數(shù)并輸出返回值
格式:{:function(…)} 
例如,輸出U函數(shù)的返回值:

{:U('User/insert')}

編譯后的PHP代碼是

<?php echo U('User/insert');?>

2、執(zhí)行函數(shù)但不輸出
格式:{~function(…)} 
例如,調(diào)用say_hello函數(shù):

{~say_hello('ThinkPHP')}

編譯后的PHP代碼是:

<?php say_hello('ThinkPHP');?

大U函數(shù)的使用方法

U方法用于完成對URL地址的組裝,特點在于可以自動根據(jù)當(dāng)前的URL模式和設(shè)置生成對應(yīng)的URL地址,格式為:

U('地址','參數(shù)','偽靜態(tài)','是否跳轉(zhuǎn)','顯示域名');

在模板中使用U方法而不是固定寫死URL地址的好處在于,一旦你的環(huán)境變化或者參數(shù)設(shè)置改變,你不需要更改模板中的任何代碼。

在模板中的調(diào)用格式需要采用 {:U('地址', '參數(shù)'…)} 的方式

基本用法

U方法的用法示例:

U('User/add') // 生成User模塊的add操作地址

復(fù)制代碼

也可以支持分組調(diào)用:

U('Home/User/add') // 生成Home分組的User模塊的add操作地址

復(fù)制代碼

當(dāng)然,也可以只是寫操作名,表示調(diào)用當(dāng)前模塊的

U('add') // 生成當(dāng)前訪問模塊的add操作地址

復(fù)制代碼

除了分組、模塊和操作名之外,我們也可以傳入一些參數(shù):

U('Blog/read?id=1') // 生成Blog模塊的read操作 并且id為1的URL地址

復(fù)制代碼

U方法的第二個參數(shù)支持傳入?yún)?shù),支持?jǐn)?shù)組和字符串兩種定義方式,如果只是字符串方式的參數(shù)可以在第一個參數(shù)中定義,下面幾種方式都是等效的:

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

復(fù)制代碼

但是不允許使用下面的定義方式來傳參數(shù):

U('Blog/cate/cate_id/1/status/1')

復(fù)制代碼

根據(jù)項目的不同URL設(shè)置,同樣的U方法調(diào)用可以智能地對應(yīng)產(chǎn)生不同的URL地址效果,例如針對:

U('Blog/read?id=1')

復(fù)制代碼

這個定義為例。

如果當(dāng)前URL設(shè)置為普通模式的話,最后生成的URL地址是:

http://serverName/index.php?m=Blog&a=read&id=1

復(fù)制代碼

如果當(dāng)前URL設(shè)置為PATHINFO模式的話,同樣的方法最后生成的URL地址是:

http://serverName/index.php/Blog/read/id/1

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI