php中require、require_once、include、include_once类库重复引入效率问题详解

首先我详细说下这四个引入函数

include()require() 的功能相同

唯一不同:require()不管是否被执行,只要存在,php在执行前都会预引入,include()则是执行到该语句时才进行引入

 

include_once() 与 require_once() 都是检测文件是否被引入,被引入则不会引入

唯一不同: require_once()为无条件包含,顾名思义也就是引入后如遇到错误则停止,include_once()则忽略然后继续执行

 

关于效率问题,我要说明,请自觉少用include_once()、 require_once()

 

该函数原理:引入文件->对当前脚本语句进行比较是否包含过->决定是否引入,效率可想而知,你想你要是整个项目上百个类库,一次执行中比较数十次是怎样的一个恐怖的后果

 

看到有些大牛的博客上写到,不用在意这些小细节,多注重sql上优化,我的见解是,一个想不断钻研的程序员来说,应该保持一个良好的效率优化习惯,注重每一个细节

 

在这里写一下个人的多类库中防止重复引入文件的解决方式:

 

1.在调用脚本使用require();

 

2.类库中防止重复使用 class_exists('类名') or include('类库绝对路径'); 

 

解释:调用脚本的文件使用一次require(),因为调用脚本为程序通用入口,此处引入公共类库很少会造成公共类库没有被使用,在类库中使用以上语句,能防止当前脚本重复引入公共类库,并且只要通过判断条件才会执行引入,不会重复预引入,提高程序执行效率

 

转载于:https://www.cnblogs.com/bushuo/p/7027433.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值