当前位置:首页 > PHP教程 > php函数 > 列表

聊聊PHP中require_once()函数为什么不好用

发布:smiling 来源: PHP粉丝网  添加日期:2022-05-15 11:29:00 浏览: 评论:0 

php中你大概有发现require_once()不好用,但是没有深究过它为什么不好用,这篇文章从该函数的定义和用法聊聊不好用的原因,文中讲述的非常详细,对大家的学习或工作具有一定的参考价值。

本文将告诉你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. <?php 
  2.  
  3. // 文件内容 
  4.  
  5. echo "欢迎来到PHP中文网!"
  6.  
  7. ?> 

文件名:index.php

代码:

  1. <?php    
  2.  
  3. // 包括文件     
  4.  
  5. require_once('test.php'); 
  6.  
  7. require_once('test.php'); 
  8.  
  9.      
  10.  
  11. ?> 

输出:

欢迎来到PHP中文网!

注:require_once()函数会忽略第一个文件引入后的所有类似的引入。

下面我们就来讲讲为什么require_once()函数不好用?

有两点:

1、require_once() 函数在包含所有文件的同时给服务器带来了大量负载。

2、require_once() 函数的功能在存储变量时在重复函数中使用时无法正常工作。

文件名:my_file.php

示例:

  1. <?php 
  2.  
  3. // 文件内容 
  4.  
  5. $var = 'PHP'
  6.  
  7. ?> 

文件名:check.php

  1. <?php 
  2.  
  3. function func() { 
  4.  
  5.     require_once('my_file.php'); 
  6.  
  7.     return $var
  8.  
  9.  
  10. for($i = 1; $i <= 3; $i++) { 
  11.  
  12.     echo func() . " 
  13. "; 
  14.  
  15.  
  16. ?> 

输出:

PHP

通过将上面示例中的 require_once() 函数替换为 require() 函数,我们可以确保该变量$var在每次函数调用时都可用。

文件名:check2.php

  1. <?php    
  2.  
  3. function func() { 
  4.  
  5.     require('my_file.php'); 
  6.  
  7.     return $var
  8.  
  9.  
  10.      
  11.  
  12. for($i = 1; $i <= 3; $i++) { 
  13.  
  14.     echo func() . " 
  15. "; 
  16.  
  17.  
  18.      
  19.  
  20. ?> 

输出:

PHP PHP PHP

与 require() 或 include() 函数相比,require_once() 函数速度较慢,因为它在每次脚本调用函数时都要检查文件是否已包含。

Tags: require_once

分享到: