聊聊PHP中require_once()函數(shù)為什么不好用
在上一篇《聊聊PHP中die()和sleep()函數(shù)的用法》中給大家簡(jiǎn)單介紹了die()和sleep()函數(shù)的使用方法,感興趣的朋友可以去學(xué)習(xí)了解一下~
本文將告訴你PHP中require_once()為什么不好用!
不過(guò)在說(shuō)它不好用之前,我們先開(kāi)看看require_once()函數(shù)的定義和用法。
require_once()
函數(shù)是PHP中的內(nèi)置函數(shù),當(dāng)我們想要將一個(gè)PHP文件引入到另一個(gè)文件中時(shí),例如當(dāng)我們需要在PHP腳本中多次引入一個(gè)文件時(shí),它就非常有用了。它用于檢查文件是否被包含了不止一次,因?yàn)槿绻募呀?jīng)被包含了,它會(huì)在運(yùn)行腳本時(shí)忽略所有引入的內(nèi)容。
語(yǔ)法是“require_once('文件名和路徑');
”
require_once函數(shù)只接受一個(gè)參數(shù)'文件名和路徑',這是我們想要包含在PHP腳本中的文件。它是一個(gè)字符串類(lèi)型參數(shù)。
返回值則是:如果找到了被調(diào)用的文件,并且如果文件已經(jīng)被包含,那么函數(shù)將返回布爾值True,如果文件不被包含,那么函數(shù)將包含文件并返回True。但是,如果沒(méi)有找到被調(diào)用的文件,則會(huì)出現(xiàn)致命錯(cuò)誤,不會(huì)顯示輸出,執(zhí)行會(huì)停止,返回Boolean False。
PHP中的require_once()函數(shù)的使用示例:
文件名:test.php
代碼:
<?php // 文件內(nèi)容 echo "歡迎來(lái)到PHP中文網(wǎng)!"; ?>
文件名:index.php
代碼:
<?php // 包括文件 require_once('test.php'); require_once('test.php'); ?>
輸出:
歡迎來(lái)到PHP中文網(wǎng)!
注:require_once()函數(shù)會(huì)忽略第一個(gè)文件引入后的所有類(lèi)似的引入。
下面我們就來(lái)講講為什么require_once()函數(shù)不好用?
有兩點(diǎn):
1、require_once() 函數(shù)在包含所有文件的同時(shí)給服務(wù)器帶來(lái)了大量負(fù)載。
2、require_once() 函數(shù)的功能在存儲(chǔ)變量時(shí)在重復(fù)函數(shù)中使用時(shí)無(wú)法正常工作。
文件名:my_file.php
示例:
<?php // 文件內(nèi)容 $var = 'PHP'; ?>
文件名:check.php
<?php function func() { require_once('my_file.php'); return $var; } for($i = 1; $i <= 3; $i++) { echo func() . " "; } ?>
輸出:
PHP
通過(guò)將上面示例中的 require_once() 函數(shù)替換為 require() 函數(shù),我們可以確保該變量$var在每次函數(shù)調(diào)用時(shí)都可用。
文件名:check2.php
<?php function func() { require('my_file.php'); return $var; } for($i = 1; $i <= 3; $i++) { echo func() . " "; } ?>
輸出:
PHP PHP PHP
與 require() 或 include() 函數(shù)相比,require_once() 函數(shù)速度較慢,因?yàn)樗诿看文_本調(diào)用函數(shù)時(shí)都要檢查文件是否已包含。
到此這篇關(guān)于聊聊PHP中require_once()函數(shù)為什么不好用的文章就介紹到這了,更多相關(guān)PHP require_once()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
版權(quán)聲明:
本站所有文章和圖片均來(lái)自用戶分享和網(wǎng)絡(luò)收集,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系網(wǎng)站客服處理。