這篇文章將為大家詳細(xì)講解有關(guān)ThinkPHP中文件的加載方式有哪些,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為靖安等服務(wù)建站,靖安等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為靖安企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
ThinkPHP中系統(tǒng)提供了三個(gè)文件加載方式:
函數(shù)庫(kù)形式加載:
函數(shù)庫(kù)再ThinkPHP中包括三類(lèi):系統(tǒng)函數(shù)庫(kù)文件(functions.php)、應(yīng)用級(jí)別函數(shù)庫(kù)文件、分組級(jí)別函數(shù)文件。
這三類(lèi)函數(shù)庫(kù)文件只有系統(tǒng)函數(shù)庫(kù)文件(functions.php)是系統(tǒng)默認(rèn)存在的,而另外兩類(lèi)函數(shù)庫(kù)形式需要自行創(chuàng)建。
同時(shí)要注意,只有系統(tǒng)函數(shù)庫(kù)文件名為functions.php,而另外兩類(lèi)函數(shù)庫(kù)形式文件名叫做function.php。
案例:使用函數(shù)庫(kù)形式定義需要使用的函數(shù)。函數(shù)名:testfunction
<?php function testfunction(){ echo 'testfunction'; } public function test(){ testfunction(); }
展示結(jié)果:
定義好的函數(shù)庫(kù)文件中的函數(shù),在使用的時(shí)候遵循php內(nèi)置函數(shù)語(yǔ)法的要求,直接寫(xiě)上函數(shù)名(參數(shù))就可以了。
說(shuō)明:
第一:不需要引入function.php,系統(tǒng)在執(zhí)行的時(shí)候自動(dòng)幫我們引入了文件function.php文件;
第二:如果函數(shù)定義在應(yīng)用級(jí)別的函數(shù)庫(kù)文件中,則能在全部的分組(整個(gè)應(yīng)用)使用;如果函數(shù)定義在某個(gè)分組的函數(shù)庫(kù)文件中,則只能在當(dāng)前的分組中使用,否則會(huì)報(bào)函數(shù)未定義。
通過(guò)配置項(xiàng)動(dòng)態(tài)加載:
在系統(tǒng)的執(zhí)行流程中有 一個(gè)文件會(huì)被執(zhí)行到App.class.php
static public function init() { // 加載動(dòng)態(tài)應(yīng)用公共文件和配置 load_ext_file(COMMON_PATH);
在該方法中執(zhí)行了一個(gè)load_ext_file函數(shù)。
該方法并不是php內(nèi)置的方法,而是在系統(tǒng)函數(shù)庫(kù)文件中定義的:
function load_ext_file($path) { // 加載自定義外部文件 if($files = C('LOAD_EXT_FILE')) { $files = explode(',',$files); foreach ($files as $file){ $file = $path.'Common/'.$file.'.php'; if(is_file($file)) include $file; } }
擴(kuò)展:C方法
C方法也是快速方法之一,其作用是操作ThinkPHP中的配置項(xiàng):
C(name,value); 設(shè)置配置項(xiàng)name的值,值是value
C(name); 讀取配置項(xiàng)name的值
C(); 讀取全部的配置項(xiàng)
配置項(xiàng):
在應(yīng)用級(jí)別的配置文件中定義配置項(xiàng)LOAD_EXT_FILE,引入文件info.php。
'load_ext_file' => 'info', //包含文件名的字符串,多個(gè)文件名通過(guò)使用英文半角逗號(hào)分割
在應(yīng)用函數(shù)庫(kù)文件目錄中定義一個(gè)info.php
<?php function getInfo(){ phpinfo(); }
測(cè)試:
public function test(){ getInfo(); }
展示結(jié)果:
上述需要注意的是,同樣文件在系統(tǒng)封裝的方法中已經(jīng)進(jìn)行了引入,所以在使用具體的函數(shù)的時(shí)候不需要再對(duì)文件進(jìn)行單獨(dú)的引入,只需要像使用函數(shù)庫(kù)文件的形式直接編寫(xiě)需要使用的函數(shù)名即傳遞相應(yīng)的參數(shù)即可。
通過(guò)load方法加載
語(yǔ)法:
load(‘@/不帶后綴的php文件名’);
需要注意的是,文件必須存在于分組級(jí)別的函數(shù)庫(kù)目錄中,并且只能用于定義的分組中。
案例:通過(guò)自己在分組目錄中創(chuàng)建文件hello.php,然后在其中定義一個(gè)函數(shù),然后再去使用load方法加載并且使用其中的函數(shù)。
<?php function sayhello($who){ echo 'hello ' . $who; }
在控制器中使用load方法加載hello.php文件:
public function test(){ //load load('@/hello'); //調(diào)用函數(shù) sayhello(world); }
展示效果:
說(shuō)明:上述三個(gè)文件的加載方式在實(shí)際開(kāi)發(fā)的時(shí)候都可以使用,但是一般以第一種為主(通過(guò)函數(shù)庫(kù)形式自動(dòng)加載)。
關(guān)于“ThinkPHP中文件的加載方式有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
網(wǎng)頁(yè)名稱:ThinkPHP中文件的加載方式有哪些
文章網(wǎng)址:http://jinyejixie.com/article34/gpispe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、關(guān)鍵詞優(yōu)化、全網(wǎng)營(yíng)銷(xiāo)推廣、企業(yè)網(wǎng)站制作、定制開(kāi)發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)