在PHP开发中,文件的加载通常借助include和require函数来实现。这些函数的主要作用是在脚本运行时引入指定的文件,但是它们的执行方式各有不同。include和require函数可以根据文件是否已经加载来决定是否重复加载文件,而include_once和require_once则会保证文件在脚本中仅被加载一次。然而,在这篇文章中,作者提出了不使用(include/require)_once函数的建议,并给出了几个理由。 作者指出include_once和require_once在处理文件加载时会进行一系列的检查和操作,这包括查询已加载文件列表、尝试解析文件的真实路径,以及查找文件是否已经加载等。这些操作在每次包含文件时都会执行,无形中增加了程序的开销,尤其是在文件数量较多或文件路径较复杂时,性能损耗会变得更为明显。 作者提到,PHP处理include或require函数时,会先尝试获取文件的opened_path。如果文件路径是相对路径,那么这个过程可能会失败,导致PHP不能正确判断文件是否已经被加载。此时,include_once和require_once会试图打开文件,以获取文件的opened_path,并将其加入到已加载文件列表中。这一额外的open操作会进一步增加脚本的执行时间。 文章中还提及了APC(Alternative PHP Cache)缓存的使用对文件加载的影响。APC的作用是加速PHP的执行,通过缓存编译好的代码来避免重复的编译过程,从而提高性能。然而,在使用APC的情况下,include_once和require_once的行为可能会导致额外的文件打开操作,因为即使APC缓存了编译结果,PHP在include_once和require_once函数调用时也会先尝试打开文件。APC为了优化这一点,引入了include_once_override功能,但作者指出该功能的实现存在问题,可能会导致一些未定义的行为,比如无法正确声明类多次。 作者从代码管理和逻辑清晰的角度提出了个人的观点。他认为,在多数情况下,开发者应该有信心管理好自己的代码,借助自动加载机制如PSR-4标准,确保每个文件只被加载一次。使用include而不是include_once,能够减少不必要的检查和文件打开操作,从而提高代码的运行效率。 文章的核心观点是:在PHP开发中,应尽量避免使用(include/require)_once,而是采用include或者合理的自动加载策略,以此来减少不必要的性能损耗,保证代码的效率和清晰度。这些建议对于那些追求程序性能优化、注重代码质量的开发者来说,无疑是一个值得考虑的建议。
- 粉丝: 7
- 资源: 887
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 计算机网络四次实验报告
- (175549404)基于微信小程序的十二神鹿点餐(外卖小程序)(毕业设计,包括数据库,源码,教程).zip
- (179941432)基于MATLAB车牌识别系统【GUI含界面】.zip
- (179941434)基于MATLAB车牌识别系统【含界面GUI】.zip
- (178021462)基于Javaweb+ssm的医院在线挂号系统的设计与实现.zip
- (178047214)基于springboot图书管理系统.zip
- 张郅奇 的Python学习过程
- (23775420)欧姆龙PLC CP1H-E CP1L-E CJ2M CP1E 以太网通讯.zip
- (174590622)计算机课程设计-IP数据包解析
- (175550824)泛海三江全系调试软件PCSet-All2.0.3 1