PHP之include/require深入了解

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()则是无条件包含函数
<?php
    //变量$ok无论是何值,1.php都会被包含进来[在PHP程序执行前,就读入require()语句]
    if($ok){
        require '1.php';
    }
    //变量$ok为真,则包含文件2.php
    if($ok){
      include '2.php';
    }
?>

结论

  • incluce在用到时加载
  • require在一开始就加载
  • _once后缀表示已加载的不加载
  • 如果可能执行多次的代码,则使用require()效率比较高
  • 如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值