• 一个例子简要说明include和require的区别


    先编辑command.php文件

    echo 'hello'.PHP_EOL;
    

    然后编辑console.php文件

    for($i=1;$i<=3;++$i){
    	require 'command1.php';
    }
    

    原本想要包含并执行这个echo,没想到写错了文件名,如果是require,会报出这样的错误:

    Warning: require(command1.php): failed to open stream: No such file or directory in console.php on line 4
    
    Fatal error: require(): Failed opening required 'command1.php' (include_path='.') in console.php on line 4
    PHP Warning:  require(command1.php): failed to open stream: No such file or directory in console.php on line 4
    PHP Fatal error:  require(): Failed opening required 'command1.php' (include_path='.') in console.php on line 4
    

    如果把require改为include

    for($i=1;$i<=3;++$i){
    	include 'command1.php';
    }
    

    会报出这样的错误:

    Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    
    Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    
    Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    
    Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    
    Warning: include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    
    Warning: include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    PHP Warning:  include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    PHP Warning:  include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    PHP Warning:  include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    PHP Warning:  include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    PHP Warning:  include(command1.php): failed to open stream: No such file or directory in console.php on line 4
    PHP Warning:  include(): Failed opening 'command1.php' for inclusion (include_path='.') in console.php on line 4
    

    如果使用require_once或者include_once,只要包含路径正确,那么循环只执行一次。

    总结:

    使用require,如果文件没有包含成功,就会报出一个fatal error,整个程序就中止了。

    使用include,如果文件没有包含成功,就会报出一个普通的warning,之后的代码仍会执行。

    如果你的Web程序使用了MVC这种对文件包含强依赖的设计方法,请使用require_once。

    本文为博主原创文章,转载请在明显位置注明出处: http://www.cnblogs.com/sweng

    本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。

  • 相关阅读:
    Redis:五、Redis持久化
    Redis:四、jedis连接redis服务器
    Redis:三、Key和Value
    php 拆分的 string里包含“2”或“1”符号(“”或者“”)
    清除float浮动
    js 判断数据类型
    form表单里target属性(在新窗口打开页面)
    think PHP5实现文件下载
    echarts自定义提示框内容
    Chrome浏览器不支持小于12px的字体大小
  • 原文地址:https://www.cnblogs.com/sweng/p/6749496.html
Copyright © 2020-2023  润新知