美文网首页
PHP中require、include、’require_onc

PHP中require、include、’require_onc

作者: 任仪凡 | 来源:发表于2019-04-04 19:21 被阅读0次

    require与include区别

    <?php
        include 'no.php';
        echo '123';
    ?>
    这段代码,如果no.php文件不存在,首先会报错,但是echo '123'这句是可以继续执行的
    
    <?php
        require 'no.php';
        echo '123';
    ?>
    然而这段代码,如果no.php文件不存在,在require时就停止了,echo '123'这句是不执行的
    

    总结一:在引入不存在的文件时,include() 产生一个警告,而require() 则导致一个致命错误

    if($something){
        include("somefile");
    }
    变量$something为真,才会包含somefile文件
    
    if($something){
        require("somefile");
    }
    不管变量$something为真还是假,都会包含somefile文件
    

    总结二:include()是有条件包含函数,可以有选择地包含,而 require()则是无条件包含函数,无论如何都会包含文件

    总结三:require()语句的功能与include()相类似,都是包括并运行指定文件。不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估;而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句)。这就意味着如果可能执行多次的代码,则使用require()效率比较高。另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句。

    include与include_once的区别(require与require_once区别)

    <?php
        require '1.php';
        require '1.php';
    ?>
    这种情况下1.php被包含两次
    
    <?php
        require '1.php';
        require_once '1.php';
    ?>
    这种情况下,第二次包含时,是不会进行包含的
    

    总结:include_once (require_once)语句在执行时会查询一遍已加载文件列表,如果文件已存在,则不会再次包含,include(require)则相反

    include、include_once、require、require_once抉择问题

    通常:include_once和require_once会有性能上的下降,因为他需要判断之前是否包含过。一般情况下,不太需要去考虑

    require通常使用方法:这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。

    include通常使用方法:这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。

    相关文章

      网友评论

          本文标题:PHP中require、include、’require_onc

          本文链接:https://www.haomeiwen.com/subject/upiqiqtx.html