真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ThinkPHP字母函數(shù)實(shí)例分析

這篇文章主要介紹“ThinkPHP字母函數(shù)實(shí)例分析”,在日常操作中,相信很多人在ThinkPHP字母函數(shù)實(shí)例分析問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”ThinkPHP字母函數(shù)實(shí)例分析”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)渭城,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792

A 方法

用于在內(nèi)部實(shí)例化控制器,調(diào)用格式:

// A('[項(xiàng)目://][分組/]模塊','控制器層名稱')$User = A('User');$User = A('Admin://User');

實(shí)例化控制器后,就可以調(diào)用該控制器中的方法,不過(guò)需要注意的情況是,在跨項(xiàng)目調(diào)用的情況下,如果你的操作方法 有針對(duì)當(dāng)前控制器的特殊變量操作,會(huì)有一些未知的問(wèn)題,所以,一般來(lái)說(shuō),官方建議需要公共調(diào)用的控制器層單獨(dú)開(kāi)發(fā),不要有太多的依賴關(guān)系。

B 方法

這是隨著行為應(yīng)運(yùn)而生的新生函數(shù),可以執(zhí)行某個(gè)行為,例如

B('app_begin');

就是在項(xiàng)目開(kāi)始之前,執(zhí)行這個(gè)行為定義的所有函數(shù)。支持 2 個(gè)參數(shù),第二個(gè)參數(shù)支持需要接受一個(gè)數(shù)組,例如

B('app_begin', ["name" => "tdweb","time"=>time()]);

C 方法

C 方法是 Think 用于設(shè)置、獲取,以及保存配置參數(shù)的方法,使用頻率較高。

動(dòng)態(tài)設(shè)置配置參數(shù),配置參數(shù)不區(qū)分大小寫(xiě),但是建議保持統(tǒng)一大寫(xiě)的配置定義規(guī)范。

C('DB_NAME','think');

支持二級(jí)配置參數(shù)的設(shè)置,配置參數(shù)不建議超過(guò)二級(jí)。例如:

C('USER.USER_ID',8);

如果要設(shè)置多個(gè)參數(shù),可以使用批量設(shè)置,例如:

$config['user_id'] = 1;$config['user_type'] = 1;C($config);

如果傳入的配置參數(shù)為空,表示獲取全部的參數(shù):

$config = C();

D 方法

D 方法應(yīng)該是用的比較多的方法了,用于實(shí)例化自定義模型類,是 Think 框架對(duì) Model 類實(shí)例化的一種封裝,并實(shí)現(xiàn)了單例模式,支持跨項(xiàng)目和分組調(diào)用,調(diào)用格式如下:

D('[項(xiàng)目://][分組/]模型','模型層名稱')

方法的返回值是實(shí)例化的模型對(duì)象。

D 方法可以自動(dòng)檢測(cè)模型類,如果存在自定義的模型類,則實(shí)例化自定義模型類,如果不存在,則會(huì)實(shí)例化 Model 基類,同時(shí)對(duì)于已實(shí)例化過(guò)的模型,不會(huì)重復(fù)去實(shí)例化。

D 方法最常用的用法就是實(shí)例化當(dāng)前項(xiàng)目的某個(gè)自定義模型,例如:

// 實(shí)例化 User 模型$User = D('User');

F 方法

F 方法其實(shí)是 S 方法的一個(gè)子集功能,僅用于簡(jiǎn)單數(shù)據(jù)緩存,并且只能支持文件形式,不支持緩存有效期,因?yàn)椴捎玫氖欠祷胤绞?,所以其效率較 S 方法較高,因此我們也稱之為快速緩存方法。

F 方法的特點(diǎn)是:

  • 簡(jiǎn)單數(shù)據(jù)緩存;

  • 文件形式保存;

  • 采用返回?cái)?shù)據(jù)方式加載緩存;

  • 支持子目錄緩存以及自動(dòng)創(chuàng)建;

  • 支持刪除緩存和批量刪除;

寫(xiě)入和讀取緩存

F('data','test data');

默認(rèn)的保存起始路徑是 DATA_PATH(該常量在默認(rèn)配置位于 RUNTIME_PATH.‘Data/’ 下面),也就是說(shuō)會(huì)生成文件名為 DATA_PATH.‘data.’ 的緩存文件。

注意:確保你的緩存標(biāo)識(shí)的唯一,避免數(shù)據(jù)覆蓋和沖突。

下次讀取緩存數(shù)據(jù)的時(shí)候,使用:

$Data = F('data');

我們可以采用子目錄方式保存,例如:

F('user/data',$data); 
// 緩存寫(xiě)入F('user/data'); 
// 讀取緩存

就會(huì)生成 DATA_PATH.‘user/data.’ 緩存文件,如果 user 子目錄不存在的話,則會(huì)自動(dòng)創(chuàng)建,也可以支持多級(jí)子目錄,例如:

F('level1/level2/data',$data);

如果需要指定緩存的起始目錄,可以用下面的方式:

F('data',$data,TEMP_PATH);

刪除緩存

F('data',NULL);

G 方法

G 方法的作用包括標(biāo)記位置和區(qū)間統(tǒng)計(jì)兩個(gè)功能,下面來(lái)看下具體用法:

標(biāo)記位置

G 方法的第一個(gè)用法就是標(biāo)記位置,例如:

G('begin');

表示把當(dāng)前位置標(biāo)記為 begin 標(biāo)簽,并且記錄當(dāng)前位置的執(zhí)行時(shí)間,如果環(huán)境支持的話,還能記錄內(nèi)存占用情況??梢栽谌魏挝恢谜{(diào)用 G 方法標(biāo)記。

運(yùn)行時(shí)間統(tǒng)計(jì)

標(biāo)記位置后,我們就可以再次調(diào)用 G 方法進(jìn)行區(qū)間統(tǒng)計(jì)了,例如:

G('begin');
// ...其他代碼段G('end');
// ...也許這里還有其他代碼
// 進(jìn)行統(tǒng)計(jì)區(qū)間echo G('begin','end').'s';

G(‘begin’,‘end’) 表示統(tǒng)計(jì) begin 位置到 end 位置的執(zhí)行時(shí)間(單位是秒),begin 必須是一個(gè)已經(jīng)標(biāo)記過(guò)的位置,如果這個(gè)時(shí)候 end 位置還沒(méi)被標(biāo)記過(guò),則會(huì)自動(dòng)把當(dāng)前位置標(biāo)記為 end 標(biāo)簽,輸出的結(jié)果類似于:

0.0056s

默認(rèn)的統(tǒng)計(jì)精度是小數(shù)點(diǎn)后 4 位,如果覺(jué)得這個(gè)統(tǒng)計(jì)精度不夠,還可以設(shè)置例如:

G('begin','end',6).'s';

內(nèi)存開(kāi)銷(xiāo)統(tǒng)計(jì)

如果你的環(huán)境支持內(nèi)存占用統(tǒng)計(jì)的話,還可以使用 G 方法進(jìn)行區(qū)間內(nèi)存開(kāi)銷(xiāo)統(tǒng)計(jì)(單位為 kb),例如:

echo G('begin','end','m').'kb';

第三個(gè)參數(shù)使用 m 表示進(jìn)行內(nèi)存開(kāi)銷(xiāo)統(tǒng)計(jì),輸出的結(jié)果可能是:

625kb

I 方法

正如你所見(jiàn)到的一樣,I 方法是 Thinkphp 眾多單字母函數(shù)中的新成員,其命名來(lái)自于英文 Input(輸入),主要用于更加方便和安全的獲取系統(tǒng)輸入變量,可以用于任何地方,用法格式如下:

I('變量類型.變量名',['默認(rèn)值'],['過(guò)濾方法'])

變量類型是指請(qǐng)求方式或者輸入類型,包括:

方式說(shuō)明
get獲取 GET 參數(shù)
post獲取 POST 參數(shù)
param自動(dòng)判斷請(qǐng)求類型獲取 GET、POST 或者 PUT 參數(shù)
request獲取 REQUEST 參數(shù)
put獲取 PUT 參數(shù)
session獲取 $_SESSION 參數(shù)
cookie獲取 $_COOKIE 參數(shù)
server獲取 $_SERVER 參數(shù)
globals獲取 $GLOBALS 參數(shù)

注意:變量類型不區(qū)分大小寫(xiě)。變量名則嚴(yán)格區(qū)分大小寫(xiě)。

默認(rèn)值和過(guò)濾方法均屬于可選參數(shù)。

L 方法

L 方法用于啟用多語(yǔ)言的情況下,設(shè)置和獲取當(dāng)前的語(yǔ)言定義。

調(diào)用格式:

L('語(yǔ)言變量',['語(yǔ)言值'])

M 方法

M 方法用于實(shí)例化一個(gè)基礎(chǔ)模型類,和 D 方法的區(qū)別在于:

  • 不需要自定義模型類,減少 IO 加載,性能較好;

  • 實(shí)例化后只能調(diào)用基礎(chǔ)模型類(默認(rèn)是 Model 類)中的方法;

  • 可以在實(shí)例化的時(shí)候指定表前綴、數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)的連接信息;

D 方法的強(qiáng)大則體現(xiàn)在你封裝的自定義模型類有多強(qiáng),不過(guò)隨著新版 Think 框架的基礎(chǔ)模型類的功能越來(lái)越強(qiáng)大,M 方法也比 D 方法越來(lái)越實(shí)用了。

M 方法的調(diào)用格式:

M('[基礎(chǔ)模型名:]模型名','數(shù)據(jù)表前綴','數(shù)據(jù)庫(kù)連接信息')

R 方法

R 方法用于調(diào)用某個(gè)控制器的操作方法,是 A 方法的進(jìn)一步增強(qiáng)和補(bǔ)充。

R 方法的調(diào)用格式:

R('[項(xiàng)目://][分組/]模塊/操作','參數(shù)','控制器層名稱')

可以通過(guò) R 方法在其他控制器里面調(diào)用這個(gè)操作方法(一般 R 方法用于跨模塊調(diào)用)

$data = R('User/detail',array('5'));

官方的建議是不要在同一層多太多調(diào)用,會(huì)引起邏輯的混亂,被公共調(diào)用的部分應(yīng)該封裝成單獨(dú)的接口,可以借助3.1的新特性多層控制器,單獨(dú)添加一個(gè)控制器層用于接口調(diào)用

S 方法

S 方法還支持對(duì)當(dāng)前的緩存方式傳入緩存參數(shù),例如:

S('data',$Data,3600,'File',array('length'=>10,'temp'=>RUNTIME_PATH.'temp/'));

T 方法

為了更方便的輸出模板文件,新版封裝了一個(gè) T 函數(shù)用于生成模板文件名。

T([資源://][模塊@][主題/][控制器/]操作,[視圖分層])

T 函數(shù)的返回值是一個(gè)完整的模板文件名,可以直接用于 display 和 fetch 方法進(jìn)行渲染輸出。

U 方法

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

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

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

到此,關(guān)于“ThinkPHP字母函數(shù)實(shí)例分析”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


當(dāng)前文章:ThinkPHP字母函數(shù)實(shí)例分析
文章網(wǎng)址:http://weahome.cn/article/gggedi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部