婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP中include和require的使用詳解

PHP中include和require的使用詳解

熱門標簽:銀行信貸電話機器人 上海400客服電話怎么申請 滄州電銷外呼系統價格 合肥ai電銷機器人費用 天津電銷外呼系統違法嗎 凱立德地鐵站地圖標注 手機外呼系統什么原理 溫州外呼系統招商 400電話個人能不能辦理

在PHP中,有兩種包含外部文件的方式,分別是include和require。他們之間有什么不同呢?

如果文件不存在或發生了錯誤,require產生E_COMPILE_ERROR級別的錯誤,程序停止運行。而include只產生警告,腳本會繼續執行。

這就是它們最主要的區別,其他方面require基本等同于include。

  • 被包含文件先按參數給出的路徑尋找,如果沒有給出目錄(只有文件名)時則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該文件則 include 最后才在調用腳本文件所在的目錄和當前工作目錄下尋找
  • 如果定義了路徑不管是絕對路徑還是當前目錄的相對路徑 include_path 都會被完全忽略
  • include_path 在php.ini中定義
  • 當一個文件被包含時,其中所包含的代碼繼承了 include 所在行的變量范圍。從該處開始,調用文件在該行處可用的任何變量在被調用的文件中也都可用。不過所有在包含文件中定義的函數和類都具有全局作用域

除了普通的require和include之外,還有require_once和include_once,他們的作用是:

  • 如果該文件中已經被包含過,則不會再次包含。如同此語句名字暗示的那樣,只會包含一次
  • 可以用于在腳本執行期間同一個文件有可能被包含超過一次的情況下,想確保它只被包含一次以避免函數重定義,變量重新賦值等問題

我們來看些例子:

// a.php 不存在
include "a.php"; // warning
// require "a.php"; // error

echo 111; // 使用include時111會輸出

// file1.php 中只有一行代碼echo 'file1';
require_once 'includeandrequire/file1.php'; // file1
require_once 'includeandrequire/file1.php'; // noting

include_once 'includeandrequire/file1.php'; // noting
include_once 'includeandrequire/file1.php'; // noting

require 'includeandrequire/file1.php'; // file1
require 'includeandrequire/file1.php'; // file1

require 'includeandrequire/file1.php'; // file1
require 'includeandrequire/file1.php'; // file1

我們可以看出當第一個_once加載成功后,后面不管是require_once還是include_once,都不會再加載這個文件了。而不帶_once的則會重復加載文件。

file2.php

?php

echo 'file2:' . $a, PHP_EOL;
echo 'file2:' . $b, PHP_EOL;
$b = "file2";

myFile.php

?php

$a = 'myFile';
$b = 'youFile';
require_once 'includeandrequire/file2.php';
echo $a, PHP_EOL;
echo $b, PHP_EOL;

// 輸出結果
// file2:myFile
// file2:youFile
// myFile
// file2

file3.php
?php

$c = 'file3';

myFile.php
?php
function test(){
    require_once 'includeandrequire/file3.php';
    echo $c, PHP_EOL; // file3
}
test();
echo $c, PHP_EOL; // empty

被包含文件中可以獲取到父文件中的變量,父文件也可以獲得包含文件中的變量,但是,需要注意_once的一個特殊情況。

function foo(){
    require_once 'includeandrequire/file3.php';
    return $c;
}

for($a=1;$a=5;$a++){
    echo foo(), PHP_EOL;
}

// file3
// empty
// empty
// empty
// empty

使用_once并循環加載時,只有第一次會輸出file3.php中的內容,這是為什么呢?因為現在的變量范圍作用域在方法中,第一次加載完成后,后面的的文件不會再被加載了,這時后面四次循環并沒有$c被定義,$c默認就是空值了。

如果兩個方法中同時用_once加載了一個文件,第二個方法還會加載嗎?

function test1(){
    require_once 'includeandrequire/file1.php';
}
function test2(){
    require_once 'includeandrequire/file1.php';
}
test1(); // file1
test2(); // empty

抱歉,只有第一個方法會加載成功,第二個方法不會再次加載了。

那么,我們在日常的開發中,使用哪個更好呢?

  • 從效率來說,_once需要驗證是否已經加載過文件,效率會低一些,但是并不是絕對的,甚至是我們肉眼不可見的降低,所以可以忽略它的效率問題。而它帶來的好處則比不帶_once的多得多
  • 本著錯誤提前的原則,使用require_once更好。因為將PHP報錯級別調整為不顯示警告后,include的警告信息會不可見,會帶來不可預知的錯誤
  • 在方法中使用時,不應該用_once來加載文件,特別是這個文件需要在多個類或者方法中使用時,使用_once可能會導致后面的方法中無法載相同的文件
  • 使用require或include時,最好不要用括號,雖然的確可以這么使用,如 include ('xxx.php'); 它們是表達式關鍵字,不是系統方法,所以直接用 include 'xxx.php' 即可

include和require的文件如果有return,可以用變量接收retun回來的數據,另外它們還可以加載非PHP文件以及遠程文件(遠程加載需要確定php.ini中的allow_url_include為On),如:

file4.php
?php

return 'file4';

file4.txt
可以吧

myFile.php
?php
$v = require 'includeandrequire/file4.php';
echo $v, PHP_EOL; // file4

include 'includeandrequire/file4.txt';
// 可以吧

include 'https://www.baidu.com/index.html';
// 百度首頁的html代碼

這下我們對于include和require的了解就非常深入了吧,這兩個加載文件的方式并不復雜,但也很容易出現一些坑,特別是_once在方法中使用的時候一定要特別注意。最后,給一個小福利,封裝一個一次性加載目錄中所有文件的方法:

function include_all_once ($pattern) {
    foreach (glob($pattern) as $file) { 
        require $file;
    }
}

include_all_once('includeandrequire/*');

測試代碼:github.com/zhangyue050…

以上就是PHP中include和require的使用詳解的詳細內容,更多關于PHP include和require的使用的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • PHP中include和require的區別實例分析
  • php使用include 和require引入文件的區別
  • PHP中include()與require()的區別說明
  • PHP中include/require/include_once/require_once使用心得
  • 簡單談談PHP中的include、include_once、require以及require_once語句
  • PHP中require和include路徑問題詳解
  • PHP包含文件函數include、include_once、require、require_once區別總結
  • PHP中include與require使用方法區別詳解
  • php include和require的區別深入解析
  • PHP中include()與require()的區別說明

標簽:赤峰 白城 洛陽 酒泉 金華 怒江 溫州 七臺河

巨人網絡通訊聲明:本文標題《PHP中include和require的使用詳解》,本文關鍵詞  PHP,中,include,和,require,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP中include和require的使用詳解》相關的同類信息!
  • 本頁收集關于PHP中include和require的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    一区二区三区中文字幕| 国产农村妇女精品| 日韩精品在线网站| 日韩激情视频在线观看| 欧美三级电影网| 亚洲自拍偷拍图区| 在线视频你懂得一区二区三区| 亚洲欧洲日韩女同| 欧美亚一区二区| 亚洲一区二区精品久久av| 在线影院国内精品| 性感美女久久精品| 欧美大肚乱孕交hd孕妇| 男女男精品视频网| 欧美大胆人体bbbb| 日韩区在线观看| 国产精品亚洲午夜一区二区三区| 久久久国产精华| 95精品视频在线| 偷拍与自拍一区| 久久综合九色综合97婷婷| 国产成人亚洲综合a∨婷婷图片 | 久久99九九99精品| 国产丝袜美腿一区二区三区| 丁香亚洲综合激情啪啪综合| 国产精品白丝在线| 在线成人av网站| 久久精品国产澳门| 自拍偷拍欧美激情| 日韩欧美一级二级| 99精品1区2区| 日韩国产欧美视频| 精品成人一区二区三区| 91在线观看美女| 亚洲成av人片| 久久久久9999亚洲精品| 91色porny蝌蚪| 丝袜美腿亚洲综合| 国产精品久久久久久久久晋中 | 久久se这里有精品| 亚洲影视在线观看| 26uuu国产日韩综合| 在线观看日韩精品| 成人性生交大片| 午夜欧美大尺度福利影院在线看| 26uuu成人网一区二区三区| 欧美影院一区二区三区| 不卡的看片网站| 久久精品国产在热久久| 亚洲妇女屁股眼交7| 中文字幕一区日韩精品欧美| 欧美一级日韩免费不卡| 一本到不卡免费一区二区| 国产一区在线看| 久久精品国产精品青草| 丝袜亚洲另类丝袜在线| 亚洲一区二区av电影| 专区另类欧美日韩| 亚洲男同1069视频| 国产精品色眯眯| 国产欧美精品一区二区色综合| 精品国产一区二区三区四区四| 3d成人h动漫网站入口| 一本大道久久a久久综合婷婷| 国产不卡视频一区| 国产成人av一区二区三区在线观看| 毛片一区二区三区| 免费人成黄页网站在线一区二区| 亚洲福利视频导航| 日本欧美大码aⅴ在线播放| 午夜一区二区三区在线观看| 亚洲色图另类专区| 中文字幕在线观看不卡| 亚洲欧美一区二区三区国产精品| 国产精品色在线| 综合在线观看色| 亚洲小说欧美激情另类| 亚洲成人福利片| 亚洲h动漫在线| 日本午夜精品视频在线观看| 六月婷婷色综合| 国产乱子伦一区二区三区国色天香| 久久99精品国产麻豆不卡| 韩国精品主播一区二区在线观看 | 国产精品蜜臀在线观看| 欧美国产精品一区二区| 欧美国产成人精品| 综合网在线视频| 一区二区三区日韩欧美精品| 亚洲国产精品视频| 免费xxxx性欧美18vr| 国产精品一区二区x88av| 91丝袜呻吟高潮美腿白嫩在线观看| 99re8在线精品视频免费播放| 91官网在线观看| 精品国精品自拍自在线| 国产精品亲子乱子伦xxxx裸| 亚洲精品高清在线观看| 天天色综合成人网| av电影天堂一区二区在线| 91精品办公室少妇高潮对白| 欧美日韩在线电影| 蜜桃视频第一区免费观看| 成人久久视频在线观看| 色综合中文字幕国产| 99久久久精品| 欧美男生操女生| 中文字幕精品三区| 图片区小说区区亚洲影院| 韩国av一区二区| 国产欧美久久久精品影院| 亚洲综合在线电影| 成人av电影在线网| 精品久久久久久久久久久久久久久久久| 国产精品免费久久久久| 日韩高清不卡一区| 成人激情校园春色| 欧美白人最猛性xxxxx69交| 国产精品美女久久久久久久 | 夜夜嗨av一区二区三区四季av| 精品免费99久久| 日韩精品高清不卡| 91老师片黄在线观看| 精品免费日韩av| 日韩福利视频导航| 欧美色综合久久| 久久久精品天堂| 久久激五月天综合精品| 7777精品伊人久久久大香线蕉的| 亚洲免费电影在线| www.日韩精品| 最新久久zyz资源站| 国产精品99久久久久久似苏梦涵 | 久久精品欧美一区二区三区不卡| 午夜精品成人在线| 色妞www精品视频| 国产精品国产三级国产普通话99 | aaa国产一区| 在线播放欧美女士性生活| 最新久久zyz资源站| av激情亚洲男人天堂| 国产精品毛片久久久久久| 成人免费看的视频| 欧美韩日一区二区三区四区| 激情伊人五月天久久综合| 久久免费美女视频| 国产成人aaa| ww亚洲ww在线观看国产| 东方aⅴ免费观看久久av| 亚洲天堂av老司机| 欧美探花视频资源| 久久精品国产精品青草| 久久人人爽人人爽| 国产成人av一区| 国产精品传媒在线| 91免费在线播放| 偷偷要91色婷婷| 在线观看亚洲精品视频| 蜜桃视频一区二区三区在线观看| 欧美成人高清电影在线| 日日夜夜免费精品视频| 欧美精品久久99久久在免费线| 国内精品免费**视频| 久久久久久久久久久久久女国产乱| 福利电影一区二区三区| 一个色综合av| 精品免费国产二区三区| 亚洲欧美综合在线精品| 欧美高清www午色夜在线视频| 欧美日韩一区二区三区免费看| 午夜私人影院久久久久| 久久久久久**毛片大全| 在线观看视频一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久伊人蜜桃av一区二区| 福利91精品一区二区三区| 亚洲成人av一区二区| 成人ar影院免费观看视频| 亚洲特黄一级片| 欧美一区二视频| 成人app软件下载大全免费| 国产精品久久看| 欧美日高清视频| 粉嫩在线一区二区三区视频| 亚洲成av人片一区二区三区| 亚洲国产经典视频| 2020国产精品自拍| 91麻豆6部合集magnet| 日本女优在线视频一区二区| 欧美精品一区二区三区四区| 暴力调教一区二区三区| 亚洲色图另类专区| 91精品国产综合久久国产大片| 国产福利一区在线| 中文子幕无线码一区tr| 成人精品在线视频观看| 免费日本视频一区| 日本精品免费观看高清观看| 国产综合久久久久久鬼色| 午夜欧美大尺度福利影院在线看|