在上一篇《聊聊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()内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!
原文链接:https://www.php.cn/php-weizijiaocheng-481331.html
相关文章
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
如何在亚马逊云主机上部署WordPress等主流CMS系统?
2025-05-27 53 -
Windows 11自带杀毒软件太灵敏了,可以这样暂时关闭或永久禁用它
2025-05-27 90 -
2025-05-25 12
-
2025-06-04 66
-
2025-05-29 48