溫馨提示×

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

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

PHP中include作用域有什么用

發(fā)布時(shí)間:2021-07-24 14:10:29 來(lái)源:億速云 閱讀:155 作者:Leah 欄目:編程語(yǔ)言

本篇文章為大家展示了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è)資訊頻道。

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

免責(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)容。

AI