三沣开发知识 购物 网址 游戏 小说 歌词 地图 快照 股票 美女 新闻 笑话 | 汉字 软件 日历 阅读 下载 图书馆 开发 租车 短信 China
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题
autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程 CSS/HTML/Xhtml
html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
站长资讯 .NET新手 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA VisualStudio ASP.NET-MVC .NET控件开发 EntityFramework WinRT-Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动 Html-Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP OracleERP DynamicsCRM K2 BPM 信息安全 企业信息 Android开发 iOS开发 WindowsPhone WindowsMobile 其他手机 敏捷开发 项目管理 软件工程 SQLServer Oracle MySQL NoSQL 其它数据库 Windows7 WindowsServer Linux
  IT知识库 -> PHP -> php中require、require_once、include、include_once类库重复引入效率问题详解 -> 正文阅读
 

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

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(),因为调用脚本为程序通用入口,此处引入公共类库很少会造成公共类库没有被使用,在类库中使用以上语句,能防止当前脚本重复引入公共类库,并且只要通过判断条件才会执行引入,不会重复预引入,提高程序执行效率
  PHP 最新文章
PHP中被忽略的性能优化利器:生成器
cakephp搭建配置完成后怎么关闭cake标识
如何配置php session使用redis集群
cakephp怎么默认显示index/index文件
PHP入门怎么选?大学生适合学习吗?
php 回调函数和匿名函数
利用PHP+MySql+Ajax操作实现年月日联动功能
被swoole坑哭的PHP程序员
wordpress高级教程
三、记一次失败的 CAS 搭建 之 服务端配置
上一篇文章           查看所有文章
加:2017-06-17 01:43:30  更:2017-06-17 01:43:47 
 
技术频道: 站长资讯 .NET新手区 ASP.NET C# WinForm Silverlight WCF CLR WPF XNA Visual Studio ASP.NET MVC .NET控件开发 Entity Framework WinRT/Metro Java C++ PHP Delphi Python Ruby C语言 Erlang Go Swift Scala R语言 Verilog 其它语言 架构设计 面向对象 设计模式 领域驱动设计 Html/Css JavaScript jQuery HTML5 SharePoint GIS技术 SAP Oracle ERP Dynamics CRM K2 BPM 信息安全 企业信息化其他 Android开发 iOS开发 Windows Phone Windows Mobile 其他手机开发 敏捷开发 项目与团队管理 软件工程其他 SQL Server Oracle MySQL NoSQL 其它数据库 Windows 7 Windows Server Linux
脚本语言: vbs/VBScript DOS/BAT hta htc python perl 游戏相关 VBA 远程脚本 ColdFusion ruby专题 autoit seraphzone PowerShell linux shell Lua Golang Erlang 其它教程
网站开发: CSS/HTML/Xhtml html5 CSS XML/XSLT Dreamweaver教程 经验交流 开发者乐园 Android开发资料
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2017年12日历
2017-12-14 6:42:56
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT知识库