成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? php使用include 和require引入文件的區別
全站頭部文字 我要出現在這里
php使用include 和require引入文件的區別 970 2024-01-10   

最近有小伙伴,提問了有關于require_once的有關問題,對于程序中遇到的問題,無聊難度大小,只要bug存在就還值得我們去探索,去解決。針對這個問題,我把include和require的詳細用法進行歸納。(結合查閱資料和自己的理解,整合出來的)希望能給有需要的小伙伴一點幫助。

引入文件:

首先需要一個php文件:

<?php
class shao//類名必須和文件名相同?。。?
{
  public $xxx="666";
}
$shili = new shao();
echo $shili->xxx;
?>

引用:

<?php
//引入文件
include "shao.php";//引用文件;只能引用一遍
//引用多個則費勁
//include_once("shao.php");//一次又一次
//也可以require ("shao.php");
?>

其中include與require的區別:

require:

執行到require()時,只會讀取一次檔案,故常放在程序開頭,檔案引入后PHP會將網頁檔重新編譯,讓引入檔成為原先網頁的一部分。

require() :無條件包含,如果文件不存在,會報出一個fatal error.腳本停止執行
require遇到錯誤時,直接報錯并停止運行程序

include:

執行到include()時,每次皆會讀取檔案,故常用于流程控制的區段,如條件判斷或循環中。
include() : 有條件包含,如果文件不存在,會給出一個 warning,但腳本會繼續執行
include遇到錯誤時(引用的文件不存在),PHP只是報錯,但程序會繼續運行下去

以下為補充:

1. include有返回值,而require沒有。
2. include()包括并運行指定文件 在處理失敗時include() 產生一個警告,被導入的程序代碼都會被執行,而且這些程序在執行的時候會擁有和源文件中呼叫到include()語句的位置相同的變量范圍。你可以導入同一個服務器中的靜態頁面。
3. include_once()的作用和include()是幾乎相同的 唯一的差別在于include_once()會先檢查要導入的檔案是不是已經在該程序中的其它地方被導入過了,如果有的話就不會再次重復導入(這項功能有時候是很重要的,比方說要導入的里面宣告了一些你自行定義好的函數,那么如果在同一個程序重復導入這個文件,在第二次導入的時候便會發生錯誤訊息,因為PHP不允許相同名稱的函數被重復宣告第二次)。
4. require()會將目標文件的內容讀入,并且把自己本身代換成這些讀入的內容 在處理失敗時require() 則導致一個致命錯。 這個讀入并且代換的動作是在PHP引擎編譯你的程序代碼的時候發生的,而不是發生在PHP引擎開始執行編譯好的程序代碼的時候(PHP 3.0引擎的工作方式是編譯一行執行一行,但是到了PHP 4.0以后就有所改變了,PHP 4.0是先把整個程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執行完畢,在編譯的過程中不會執行任何程序代碼)。require()通常來導入靜態的內容,而include()則適合用導入動態的程序代碼。
5. 如同include_once(),require_once()會先檢查目標文件的內容是不是在之前就已經導入過了,如果是的話,便不會再次重復導入同樣的內容。
6. require是無條件包含也就是如果一個流程里加入require,無論條件成立與否都會先執行require。
7. require通常放在PHP程序的最前面,PHP程序在執行前,就會先讀入require所指定引入的文件,使它變成PHP程序網頁的一部份。常用的函數,亦可以這個方法將它引入網頁中。
8. include一般是放在流程控制的處理部分中PHP程序網頁在讀到include的文件時,才將它讀進來。這種方式可以把程序執行時的流程簡單化。

推薦使用require_once()和include_once(),可以檢測文件是否有重復包含。

自動加載:

被引用的php文件:

<?php
class shao//類名必須和文件名相同?。。?
{
  public $xxx="666";
}

?>

自動加載:

<?php
function __autoload($asd)
{
  require $asd.".php";//可填地址查找
}
$shili = new shao();
echo $shili->xxx;
?>


主站蜘蛛池模板: 苍兰| 叶子楣地下裁决| 七下语文第一单元作文| 命运的承诺| 首映式| 神迹电影| 母鸡评课| 熊出没大冒险2| 电影井冈山| 吴政世| 大内低手电视剧在线观看| 小腿垫东西睡觉正确图| 田文仲个人资料| 监狱女孩电影| 李采禫的电影| 荒岛大逃亡电影| 风间由美的电影| 美女抠逼喷水视频| 五谷丰登图片| 死亡繁殖| 长句变短句的例题| 嗯~啊~快点死我男男视频| psv游戏| 望夫崖| 神医喜来乐演员表| 河南省物业管理条例| 韩国伦理片在线播放| 初音未来头像| 88分钟| 西班牙女郎| 妈妈的朋友泡妞| 来的都是客| 绿门背后| 浙江卫视网络直播源| 黄漪钧| 1881年| 姐妹姐妹演员全部演员表| 电影《三体》| 成龙电影大全免费功夫片| 男操女视频免费| 彭丹丹最惊艳的电影|

?。。≌鹃L長期在線接?。?!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103