站长资讯网
最全最丰富的资讯网站

详解php中类库重复引入效率问题

本篇文章给大家介绍一下php中require、require_once、include、include_once类库重复引入效率的问题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

详解php中类库重复引入效率问题

include() 与require() 的功能相同

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

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

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

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

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

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

  • 在调用脚本使用require();

  • 类库中防止重复使用 class_exists(‘类名’) or include(‘类库绝对路径’);

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

推荐学习:php视频教程

赞(0)
分享到: 更多 (0)