zoukankan      html  css  js  c++  java
  • 一个例子简要说明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 未本地化版本许可协议进行许可。

  • 相关阅读:
    2013-11-23 sentence patterns
    面试题 盛水 twitter
    Uva 10025 The ? 1 ? 2 ? ... ? n = k problem
    FTP服务(5)客户连接常见故障现象
    FTP服务(4)基于MySQL数据库认证
    FTP服务(3)实现基于文件验证的vsftpd虚拟用户
    FTP服务(2)实现基于SSL的FTPS
    FTP服务(1)
    Apache httpd服务
    Apache httpd服务——常用配置
  • 原文地址:https://www.cnblogs.com/sweng/p/6749496.html
Copyright © 2011-2022 走看看