在上一篇《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('test.php'); require_once('test.php'); ?>
輸出:
欢迎来到PHP中文网!
註:require_once()函數會忽略第一個檔案引入後的所有類似的引入。
下面我們就來講為什麼require_once()函數不好用?
有兩點:
1、require_once() 函數在包含所有檔案的同時為伺服器帶來了大量負載。
2、require_once() 函數的功能在儲存變數時在重複函數中使用時無法正常運作。
檔名:my_file.php
範例:
<?php // 文件内容 $var = 'PHP'; ?>
檔名:check.php
<?php function func() { require_once('my_file.php'); return $var; } for($i = 1; $i <= 3; $i++) { echo func() . "<br>"; } ?>
輸出:
PHP
透過將上面範例中的require_once() 函數替換為require() 函數,我們可以確保該變數$var在每次函數呼叫時都可用。
檔名:check2.php
<?php function func() { require('my_file.php'); return $var; } for($i = 1; $i <= 3; $i++) { echo func() . "<br>"; } ?>
輸出:
PHP PHP PHP
與require() 或include() 函數相比,require_once() 函數速度較慢,因為它在每次腳本呼叫函數時都要檢查檔案是否已包含。
最後推薦給大家最新、最全面的《PHP影片教學》~快來學習吧!
以上是我來告訴你PHP中require_once()為什麼不好用!的詳細內容。更多資訊請關注PHP中文網其他相關文章!