当前位置 博文首页 > 文章内容

    我来告诉你PHP中require_once()为什么不好用!

    作者:shunshunshun18 栏目:未分类 时间:2021-08-30 10:45:16

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    在上一篇《》中给大家简单介绍了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

    代码:

    <?php 
    // 文件内容
    echo "欢迎来到IIS7站长之家博文!"; 
    ?>

    文件名:index.php

    代码:

    <?php 
      
    // 包括文件
      
    require_once('test.php'); 
    require_once('test.php'); 
      
    ?>

    输出:

    欢迎来到IIS7站长之家博文!

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

    下面我们就来讲讲为什么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() . "<br>";
    }
    ?>

    输出:

    PHP

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

    文件名:check2.php

    <?php
      
    function func() {
        require('my_file.php');
        return $var;
    }
      
    for($i = 1; $i <= 3; $i++) {
        echo func() . "<br>";
    }
      
    ?>

    输出:

    PHP PHP PHP

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

    最后给大家推荐最新最全面的《》~快来学习吧!