亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP開(kāi)發(fā)基礎(chǔ)教學(xué)之檔包含

一、文件包含概述

在實(shí)際開(kāi)發(fā)中,常常需要把程式中的公用程式碼放到一個(gè)檔案中,使用這些程式碼的文件只需要包含這個(gè)檔案即可。這種方法有助於提高程式碼的重用性,為程式碼的編寫與維護(hù)帶來(lái)很大的便利。在PHP中,有require、require_once、include、include- once四種方法包含一個(gè)檔案。

我們來(lái)比較他們的不同:

33.png


#:
1,少用_ once帶once,因?yàn)樗鼤?huì)消耗更多的資源去做檢測(cè)的工作。

二、四個(gè)方法功能介紹

註:建議同學(xué)將程式碼複製到本地進(jìn)行測(cè)試

建立一個(gè)1.php文件,裡面寫上兩個(gè)函數(shù):

<?php
//functions.php文件
function demo(){
    echo 'aaaa';
}
function test(){
    echo 'cccdddd';
}
?>

在上述php檔案的同級(jí)目錄下,我再建立一個(gè)2 .php檔案把1.php檔案包含進(jìn)來(lái)。這樣我的函數(shù)就可以專門放在1.php裡面,哪裡需要用到這些函數(shù)的時(shí)候,我就從哪裡包含進(jìn)來(lái):

<?php

include '1.php';
//可以直接調(diào)用
demo();
test();
?>

我透過(guò)過(guò)上例我們知道了include的功能。接下來(lái)我們比較include和require:

在程式碼中,我們先用include 來(lái)包含不存在的test.php文件,

<?php

include '1.php';
include 'test.php';
//可以直接調(diào)用
demo();
test();
?>

在本地的輸出結(jié)果:

34.png

#再用require包含不存在的test.php檔案:

?35.png

透過(guò)上例的比較我們發(fā)現(xiàn):

  • ?如果test.php檔案不存在include 會(huì)發(fā)出警告繼續(xù)執(zhí)行demo()和test()函數(shù)。

  • ??而requre則直接報(bào)錯(cuò),demo()和test()函數(shù)無(wú)法繼續(xù)執(zhí)行。

我們透過(guò)表格知道了:inlcude 和include_once的差別在於,偵測(cè)是否重複包含。如果重複包含了include_once不會(huì)再包含 對(duì)應(yīng)的檔案了,而include 則不管這些。有沒(méi)引進(jìn)過(guò)文件,都再引進(jìn)一次。

同樣剛剛的2.php我們?cè)賹?shí)驗(yàn)一下,我們將functions.php包含兩次,分別使用include和include_once:

<?php

include '1.php';
include '1.php';
//可以直接調(diào)用
demo();
test();
?>

結(jié)果:

36.png

#改為include_once再試一次:

<?php

include_once '1.php';
include_once '1.php';
//可以直接調(diào)用
demo();
test();
?>

輸出:

?37.png

上圖的提示是說(shuō),不能重新定義函數(shù)demo ()。

我們?cè)诤瘮?shù)定義章節(jié)講過(guò),函數(shù)不能定義兩次,否則會(huì)報(bào)錯(cuò)。因?yàn)槲覀儗?3_1.php包含了兩次所以執(zhí)行了兩次,因此報(bào)這個(gè)錯(cuò)誤。

而include_once不報(bào)錯(cuò)的原因是因?yàn)椋核麄蓽y(cè)了functions.php曾經(jīng)包含過(guò),不再進(jìn)行包含引入了。

而require和require_once的功能,大家用你最聰明的小腦袋是不是就能推理出來(lái)了呢? require_once有兩個(gè)特點(diǎn):

1.包含的檔案必須存在,否則停止執(zhí)行

2.會(huì)做重複包含檢查喲

學(xué)習(xí)新得:

  • Include與require的差別,include遇到錯(cuò)誤警告,但繼續(xù)執(zhí)行。 Require遇到錯(cuò)誤之後報(bào)警,不會(huì)再向下執(zhí)行

  • ?inlcude 和include_once的差別在於,偵測(cè)是否重複包含。如果重複包含了include_once不會(huì)再包含 對(duì)應(yīng)的檔案了,而include 則不管這些。

?


#
繼續(xù)學(xué)習(xí)
||
<?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?>
提交重置程式碼