欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP之include/require深入了解

程序员文章站 2022-04-30 17:45:24
...
PHP之include/require深入了解

include
1.先按加载文件的路径去找文件,如果只是一个文件名的话,则会按照include_path去查找
2.如果上述两个地址未找到,则会调用脚本文件所在目录和当前工作目录
3.如果最后仍未找到,则会发出一条警告。这点和require不同,后者会发出致命错误
4。如果定义路径。不管绝对路径和相对路径,则include_path会失效

require
1.和include方法相同,但是处理错误方法不同
2.require未加载文件时会导致脚本停止执行。

php中的include_path

php在遇到include或者require的时候
1.先判断是否为据对路径。
是->加载并结束
否->进入另一个逻辑(经过多次调用,宏展开后进入_php_stream_fopen_with_path)寻找此文件)

更详细案例说明参阅鸟哥文章: 

http://www.laruence.com/2010/05/04/1450.html

结论是最好使用绝对路径

include和require的区别

include():

  1. include引入文件的时候,如果碰到错误,会给出提示(Warning),并继续运行下边的代码。
  2. 在执行文件时每次都要进行读取和评估
  3. 一般是放在流程控制的处理区段中
  4. PHP脚本文件在读到include()语句时,才将它包含的文件读取进来
  5. include()是有条件包含函数

require():

  1. require引入文件的时候,如果碰到错误,会给出提示(Fatal error),并停止运行下边的代码。
  2. 文件只处理一次(实际上,文件内容替换require()语句)
  3. 通常放在PHP脚本程序的最前面
  4. PHP程序在执行前,就会先读入require()语句所引入的文件,使它变成PHP脚本文件的一部分。
  5. require()则是无条件包含函数
//变量$ok无论是何值,1.php都会被包含进来[在PHP程序执行前,就读入require()语句]if($ok){
        require'1.php';
    }
    //变量$ok为真,则包含文件2.phpif($ok){
      include'2.php';
    }
?>

结论

  • incluce在用到时加载
  • require在一开始就加载
  • _once后缀表示已加载的不加载
  • 如果可能执行多次的代码,则使用require()效率比较高
  • 如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP之include/require深入了解,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。