您好,登錄后才能下訂單哦!
本篇文章為大家展示了PHP中include作用域有什么用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
注意:本文檔基于include敘述,但也適用于 require。這兩種結(jié)構(gòu)除了在如何處理包含失敗之外,其他完全一樣:在包含失敗時(shí),include()產(chǎn)生一個(gè)警告并繼續(xù)執(zhí)行,而require()則導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說(shuō),如果想在遇到丟失文件時(shí)停止處理頁(yè)面就用require(),否則就用include()。
PHP include作用域1、c
< ?php $color = 'green'; $fruit = 'apple'; ?>
< ?php function foo() { global $color; include 'vars.php'; echo "A $color $fruit"; } foo(); // A green apple echo "A $color $fruit"; // A green ?>
由此例可看出:
(1) 被包含文件的變量的PHP include作用域遵從包含文件所在處的作用域。即在函數(shù)里使用include將其他文件的變量包含進(jìn)來(lái),這些變量的作用域?yàn)樵摵瘮?shù)內(nèi)。
(2) foo()函數(shù)外能打印出$color的值,并沒(méi)有違反(1)的規(guī)定。那是因?yàn)楹瘮?shù)開(kāi)始已經(jīng)聲明$color為global (盡管foo()函數(shù)外并沒(méi)有$color變量,此時(shí)的$color變量并不是vars.php里面的$color變量,而是一個(gè)強(qiáng)制聲明為“全局”的新變量,這時(shí)它還沒(méi)有被賦值,當(dāng)下面包含進(jìn)vars.php后,根據(jù)(1)的原則,vars.php中的$color變量自動(dòng)享有函數(shù)內(nèi)的作用域,所以它的值就是全局變量$color的值)
PHP include作用域2、函數(shù)、類的作用域
< ?php class ClassB { /** * constructor */ public function __construct(){} /** * destructor */ public function __destruct() {} public function printit() { echo 'print it in ClassB.<br />'; } } function show_func_included() { echo 'show_func_included<br/>'; } ?>
< ?php function include_class() { include('classb.php'); } include_class(); $objB = new ClassB(); $objB->printit(); // print it in ClassB. show_func_included() // show_func_included ?>
由此例可以看出:
所有在被包含文件中定義的函數(shù)和類在被包含后,在包含文件里都具有全局作用域
結(jié)論:
1、被包含文件的變量的PHP include作用域遵從(不改變)包含文件所在處的作用域。
2、所有在被包含文件中定義的函數(shù)和類在被包含后,在包含文件里都具有全局作用域
上述內(nèi)容就是PHP中include作用域有什么用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。