require_once()函数的定义和用法是什么
Admin 2022-08-05 群英技术资讯 1035 次浏览
在上一篇《聊聊PHP中die()和sleep()函数的用法》中给大家简单介绍了die()和sleep()函数的使用方法,感兴趣的朋友可以去学习了解一下~
本文将告诉你PHP中require_once()为什么不好用!
不过在说它不好用之前,我们先开看看require_once()函数的定义和用法。
require_once()
函数是PHP中的内置函数,当我们想要将一个PHP文件引入到另一个文件中时,例如当我们需要在PHP脚本中多次引入一个文件时,它就非常有用了。它用于检查文件是否被包含了不止一次,因为如果文件已经被包含了,它会在运行脚本时忽略所有引入的内容。
语法是“require_once('文件名和路径');
”
require_once函数只接受一个参数'文件名和路径',这是我们想要包含在PHP脚本中的文件。它是一个字符串类型参数。
返回值则是:如果找到了被调用的文件,并且如果文件已经被包含,那么函数将返回布尔值True,如果文件不被包含,那么函数将包含文件并返回True。但是,如果没有找到被调用的文件,则会出现致命错误,不会显示输出,执行会停止,返回Boolean False。
文件名:test.php
代码:
<?php // 文件内容 echo "欢迎来到PHP中文网!"; ?>
文件名:index.php
代码:
<?php // 包括文件 require_once('test.php'); require_once('test.php'); ?>
输出:
欢迎来到PHP中文网!
注: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() . " "; } ?>
输出:
PHP
通过将上面示例中的 require_once() 函数替换为 require() 函数,我们可以确保该变量$var在每次函数调用时都可用。
文件名:check2.php
<?php function func() { require('my_file.php'); return $var; } for($i = 1; $i <= 3; $i++) { echo func() . " "; } ?>
输出:
PHP PHP PHP
与 require() 或 include() 函数相比,require_once() 函数速度较慢,因为它在每次脚本调用函数时都要检查文件是否已包含。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
swoole比原生PHP快。Swoole是PHP的异步、并行、高性能网络通信引擎。节省PHP框架和全局对象每次请求创建销毁带来的性能损耗。主要是为了补充php在网络编程方面的不足。
常见的定时器有两种:一种周期性定时执行,例如每天的凌晨三点出报表;另一种在指定时间后执行(一次),例如会员登录系统五分钟后发放每日登录奖励。
在laravel中,可用“php artisan config:clear”语句清除config缓存,解决env获取不到数据的问题;该问题产生的原因是缓存配置文件通过env函数读取环境变量,可能会导致该读取不到环境变量,所以返回null。
php mysql栏目在此文记录自己学习PHP和mySQL的过程。之前在网上简单地学习了一下这两门语言,并且自己编写了PHP,可以正常连接mySQL,也可以插入数据。但是自己总觉得还是不太清晰。所以...
正在学习swoole的协程中,协程的特点是看起来象是并发执行。试验一下。本文前提,linux上已安装了swoole。目前的最新版是 4.5.9(2020-12-17) 构造一个需求,一下创建5个协程,每个协程休眠1到3秒之间的随机数,然...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008