简明现代魔法 -> PHP服务器脚本 -> PHP 中关于 include() 函数的性能

PHP 中关于 include() 函数的性能

2010-03-03

PHP程序员最常用的两个函数莫过于require_once和include了,通过这两个函数,我们可以使用其他类库中定义的类等对象。但很多人在使用包含相同目录下的其他文件时,仅仅简单使用下面的代码进行文件引用:

include('include.php');

当然这种方式并没有错误,只不过在效率上它比下面的方式要稍稍差些:

include(realpath(dirname(_FILE_)).DIRECTORY_SEPARATOR.'include.php');

这种方式我们可能需要输入更多一些,但相对于前面那种需要PHP引擎去include_path 中迭代查找所有名称为'include.php’才能查找到相应对象来说,dirname(__FILE__)这种绝对路径的指定会让系统迅速定位到相应文件。

在PHP中常量__FILE__ 其实跟C#中的AppDomain.CurrentDomain.BaseDirectory非常类似,它返回的是当前代码正在执行的代码所在文件的绝对路径。而函数dirname()则返回其父文件夹路径。

另外一个更查找效率高,并且书写简单的方式是include('./include.php'),这相当于告诉系统查找当前路径下的'include.php’文件。

在大型系统中我们常常使用另外一个更好的方式,我们常常在路由文件或其他初始化文件中加入如下代码:

define('APP_PATH',realpath(dirname(_FILE_)));

这相当于给系统添加了一个全局变量来指出系统根目录,当我们后面需要引用某具体路径下的文件时我们就可以使用如下代码了:

include(APP_PATH.DIRECTORY_SEPARATOR.'models'.'User.php');

PHP 5.3之后有个Phar新特性,据说和java的jar包概念一样,不过网上资料不多,还没实际用过。找到个介绍它的文章:http://www.ibm.com/developerworks/cn/opensource/os-php-5.3new4/index.html。

php中include的作用,PHP 中关于 include() 函数的性能相关推荐

  1. 在html中base的作用,html中base标签的作用是什么

    html中base标签的作用是什么? 作用:为页面上的所有链接规定默认地址或默认目标,是一种表达路径和连接网址的标签. 说明:通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 UR ...

  2. 指针在c语言中起什么作用,编程中指针的作用是什么?

    原标题:编程中指针的作用是什么? 编程语言中,何为指针?它们都有什么用呢?其实通俗点讲,将一个椅子放进一个小房间锁上门,你若想拿出凳子,就必须有锁门的钥匙,而这钥匙就是指针. 举一个简单的例子: in ...

  3. 奶粉中含PHP作用,奶粉中膳食纤维作用是什么

    奶粉对于绝大部分宝宝而言,都是极为重要的东西,但是因为早年乃至现在各种各样的奶粉事故,导致许多家长对奶粉有所疑虑,毕竟那是宝宝要吃进肚子里的东西.这种时候就需要我们能够了解一些奶粉相关的科学知识,比如 ...

  4. python中赋值语句的作用_python中return可以使用赋值语句吗?

    在python中,有各种不同类型的语句.一个python程序是由模块构成的;一个模块由一条或多条语句组成;每个语句由不同的表达式组成;表达式可以创建和操作对象.下面来看看python中的语句. 赋值语 ...

  5. html中this的作用,JavaScript 中的 this :工作原理和陷阱

    在 JavaScript 中,this 是一个相对难懂的特殊变量.因为它随处可用,而不仅仅是面向对象的编程中.本文将解释 this 是如何工作的,以及它可能导致问题的地方,并在文章的给出最佳实践. 为 ...

  6. php中false的作用,PHP中false 。==是什么意思

    false意思是错误的.假的.表里不一的.不真诚的 英 [fɔ:ls] 美 [fɔ:ls] adj.虚伪的;不正的,非法的;假造的,摹造的;临时的 adv.欺诈地;叛卖地 不真实 not true 一 ...

  7. 奶粉中含PHP作用,奶粉中的益生菌有什么作用

    大多数的奶粉都能够提供足够的营养,而且奶粉中的营养不全是一样的,有些品牌的奶粉加入一些其他品牌没有的物质,就成为了这个品牌的特色,而这些物质通常都是对人体有益的,益生菌就是对人体有益的菌类,那么奶粉中 ...

  8. vue列表渲染中key的作用_vue中:key的作用

    因为不理解 :key(v-bind:key),网上查了一些的资料,这篇写得非常不错,很简洁清楚. 其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性. 要解释key的 ...

  9. html中repeat的作用,深入探究CSS repeat()函数知识及用法

    今天为大家讲解一下我最近学的一个CSS中repeat()函数的知识,repeat()函数要想理解透彻它,熟练掌握,需要大家花点时间去学习,因为我也查了很多资料,那么,该如何讲才能让大家更容易理解呢?想 ...

最新文章

  1. PICRUSt:预测宏基因组功能—16S扩增子分析锦上添花
  2. .Net Discovery 系列之四--深入理解.Net垃圾收集机制(下)
  3. 用ASM编写一个简单的Windows Shellcode思路总结
  4. 学习笔记-Little Tips_day20170615-\n and '\n'
  5. delphi listview失去焦点后的颜色_阴阳师姑获鸟和惠比寿建模更新对比 爷爷帅了 觉醒后鸟姐颜值提升...
  6. unix c线程同步的三种方法:互斥量、读写锁以及条件变-xhb8413-ChinaUnix博客
  7. 05NumPy--5.4随机数
  8. 经过一年的煎熬,我们还是决定把系统升级成基于 Spring Cloud 的微服务架构
  9. 安装配置管理 之 JRE 安装和配置,以适合JAVA程序运行所具备的环境
  10. linux远程连接windows桌面背景,Centos远程Windows桌面_远程桌面
  11. 章草、今草、狂草是草书的三种书写表现方式,你更喜欢哪一种?
  12. 1.1 爬虫入门介绍
  13. lammps自带命令create_atoms实现水分子建模
  14. excel公式编辑器_EXCEL从文件夹中提取符合条件的记录,其实很简单
  15. Ae 表达式语言引用​:Comp
  16. 2022骨传导蓝牙耳机推荐,最好用的几款骨传导耳机
  17. Python pypinyin库,实现文字转拼音
  18. CSPJ2019T4(加工零件)题解
  19. php开启curl,给PHP安装和开启curl扩展
  20. java工具:通过文件头的魔数判断文件类型

热门文章

  1. PageHelper:简述对物理分页插件PageHelper的认识
  2. 秒杀如何解决超卖和重复购买问题
  3. 彻底实现Linux TCP的Pacing发送逻辑-高精度hrtimer版
  4. springboot jta-atomikos动态数据源
  5. (心理学)体型和性格关系
  6. Tomcat 如何实现一键式启停?
  7. pycharm zip函数_Zipline+Pycharm 安装与配置
  8. 利用MemoryAnalyzer进行OutOfMemoryError的诊断分析
  9. 李开复写给中国学生的信
  10. 《足球与互联网产品》3:从西班牙“短传渗透”理解互联网产品的流程设计