我來告訴你PHP中require_once()為什麼不好用!

藏色散人
發布: 2023-04-10 16:16:01
原創
4648 人瀏覽過

在上一篇《PHP中die()和sleep()函數知道怎麼用嗎? 》中簡單介紹了die()和sleep()函數的使用方法,有興趣的朋友可以去學習了解~

本文將告訴你PHP中require_once()為什麼不好用!

不過在說它不好用之前,我們先開看看require_once()函數的定義和用法。

require_once()函數是PHP中的內建函數,當我們想要將一個PHP檔案引入另一個檔案時,例如當我們需要在PHP腳本中多次引入一個文件時,它就非常有用了。它用於檢查檔案是否被包含了不只一次,因為如果檔案已經被包含了,它會在執行腳本時忽略所有引入的內容。

語法是“require_once('檔名與路徑');

require_once函式只接受一個參數'檔名與路徑',這是我們想要包含在PHP腳本中的檔案。它是一個字串類型參數。

傳回值則是:如果找到了被呼叫的文件,並且如果文件已經被包含,那麼函數將傳回布林值True,如果文件不被包含,那麼函數將包含文件並傳回True。但是,如果沒有找到被呼叫的文件,則會出現致命錯誤,不會顯示輸出,執行會停止,並傳回Boolean False。

PHP中的require_once()函數的使用範例:

#檔名:test.php

程式碼:

<?php 
// 文件内容
echo "欢迎来到PHP中文网!"; 
?>
登入後複製

#檔案名稱:index.php

程式碼:

<?php 
  
// 包括文件
  
require_once(&#39;test.php&#39;); 
require_once(&#39;test.php&#39;); 
  
?>
登入後複製

輸出:

欢迎来到PHP中文网!
登入後複製

註:require_once()函數會忽略第一個檔案引入後的所有類似的引入。

下面我們就來講為什麼require_once()函數不好用?

有兩點:

1、require_once() 函數在包含所有檔案的同時為伺服器帶來了大量負載。

2、require_once() 函數的功能在儲存變數時在重複函數中使用時無法正常運作。

檔名:my_file.php

範例:

<?php 
// 文件内容
$var = &#39;PHP&#39;; 
?>
登入後複製

檔名:check.php

<?php
function func() {
    require_once(&#39;my_file.php&#39;);
    return $var;
}
for($i = 1; $i <= 3; $i++) {
    echo func() . "<br>";
}
?>
登入後複製

輸出:

PHP
登入後複製

透過將上面範例中的require_once() 函數替換為require() 函數,我們可以確保該變數$var在每次函數呼叫時都可用。

檔名:check2.php

<?php
  
function func() {
    require(&#39;my_file.php&#39;);
    return $var;
}
  
for($i = 1; $i <= 3; $i++) {
    echo func() . "<br>";
}
  
?>
登入後複製

輸出:

PHP PHP PHP
登入後複製

與require() 或include() 函數相比,require_once() 函數速度較慢,因為它在每次腳本呼叫函數時都要檢查檔案是否已包含。

最後推薦給大家最新、最全面的《PHP影片教學》~快來學習吧!

以上是我來告訴你PHP中require_once()為什麼不好用!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!