在上一篇《聊聊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
代碼:
1
2
3
4
5
6
7
|
<?php // 文件內容 echo "歡迎來到PHP中文網!" ; ?> |
文件名:index.php
代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php // 包括文件 require_once ( 'test.php' ); require_once ( 'test.php' ); ?> |
輸出:
歡迎來到PHP中文網!
注:require_once()函數會忽略第一個文件引入后的所有類似的引入。
下面我們就來講講為什么require_once()函數不好用?
有兩點:
1、require_once() 函數在包含所有文件的同時給服務器帶來了大量負載。
2、require_once() 函數的功能在存儲變量時在重復函數中使用時無法正常工作。
文件名:my_file.php
示例:
1
2
3
4
5
6
7
|
<?php // 文件內容 $var = 'PHP' ; ?> |
文件名:check.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<?php function func() { require_once ( 'my_file.php' ); return $var ; } for ( $i = 1; $i <= 3; $i ++) { echo func() . " "; } ?> |
輸出:
PHP
通過將上面示例中的 require_once() 函數替換為 require() 函數,我們可以確保該變量$var在每次函數調用時都可用。
文件名:check2.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php function func() { require ( 'my_file.php' ); return $var ; } for ( $i = 1; $i <= 3; $i ++) { echo func() . " "; } ?> |
輸出:
PHP PHP PHP
與 require() 或 include() 函數相比,require_once() 函數速度較慢,因為它在每次腳本調用函數時都要檢查文件是否已包含。
到此這篇關于聊聊PHP中require_once()函數為什么不好用的文章就介紹到這了,更多相關PHP require_once()內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.php.cn/php-weizijiaocheng-481331.html