聊聊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è)字符串類型參數(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)講講為什么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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP mongodb操作類定義與用法示例【適合mongodb2.x和mongodb3.x】
這篇文章主要介紹了PHP mongodb操作類定義與用法,結(jié)合實(shí)例形式分析了php封裝的適合mongodb2.x和mongodb3.x版本MongoDB數(shù)據(jù)庫(kù)連接、增刪改查、錯(cuò)誤處理等操作定義與使用方法,需要的朋友可以參考下2018-06-06有關(guān) PHP 和 MySQL 時(shí)區(qū)的一點(diǎn)總結(jié)
由于暫時(shí)使用國(guó)外的空間,在我發(fā)布 Blog 的時(shí)候發(fā)現(xiàn)時(shí)間總是不對(duì)。依據(jù)我以前編寫程序的經(jīng)驗(yàn),這是時(shí)區(qū)的問(wèn)題。這個(gè)問(wèn)題解決起來(lái)并不難,寫下我的解決途徑以便日后參考。2008-03-03php實(shí)現(xiàn)將base64格式圖片保存在指定目錄的方法
這篇文章主要介紹了php實(shí)現(xiàn)將base64格式圖片保存在指定目錄的方法,涉及php針對(duì)圖片文件的傳輸、判定及轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2016-10-10php運(yùn)行提示:Fatal error Allowed memory size內(nèi)存不足的解決方法
這篇文章主要介紹了php運(yùn)行提示:Fatal error Allowed memory size內(nèi)存不足的解決方法,分別針對(duì)有服務(wù)器管理權(quán)限和沒(méi)有服務(wù)器管理權(quán)限的情況分析解決方法,是非常實(shí)用的技巧,需要的朋友可以參考下2014-12-12PHP對(duì)XML內(nèi)容進(jìn)行修改和刪除實(shí)例代碼
這篇文章給大家主要介紹了利用PHP對(duì)XML內(nèi)容進(jìn)行修改和刪除的原理和方法,文中通過(guò)示例代碼介紹的很詳細(xì),相信對(duì)大家的理解和學(xué)習(xí)很有幫助,感興趣的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10FastCGI 進(jìn)程意外退出造成500錯(cuò)誤
這篇文章主要介紹了FastCGI 進(jìn)程意外退出造成500錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下2015-07-07smarty內(nèi)置函數(shù){loteral}、{ldelim}和{rdelim}用法實(shí)例
這篇文章主要介紹了smarty內(nèi)置函數(shù){loteral}、{ldelim}和{rdelim}用法,實(shí)例分析了{(lán)loteral}、{ldelim}和{rdelim}的功能及使用技巧,需要的朋友可以參考下2015-01-01