PHP 引用文件技巧


Posted in PHP onMarch 02, 2010

我们知道,java中有包的概念,而.NET中则有更加方便的DLL程序集引用的概念,通过这些以打包形式组合在一起的对象集合,我们可以很方便的在自己的类中引用其他地方定义的类或其他对象,但由于PHP中没有相应的概念,所以在需要引用其他文件中定义的对象时,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');

希望这个小小的总结能对你有所帮助!
作者:Sean Zhu
出处:http://jujusharp.cnblogs.com
PHP 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
让你的PHP同时支持GIF、png、JPEG
Oct 09 PHP
用PHP实现维护文件代码
Jun 14 PHP
PHP 面向对象 PHP5 中的常量
May 05 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
May 17 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
php绘制一条直线的方法
Jan 24 PHP
php源码分析之DZX1.5随机数函数random用法
Jun 17 PHP
在PHP中使用FastCGI解析漏洞及修复方案
Nov 10 PHP
yii2.0实现验证用户名与邮箱功能
Dec 22 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 PHP
php下过滤html代码的函数 提高程序安全性
Mar 02 #PHP
PHP set_time_limit(0)长连接的实现分析
Mar 02 #PHP
PHP clearstatcache()函数详解
Mar 02 #PHP
PHP strtok()函数的优点分析
Mar 02 #PHP
关于PHP5 Session生命周期介绍
Mar 02 #PHP
PHP正则的Unknown Modifier错误解决方法
Mar 02 #PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 #PHP
You might like
十大“创意”战术!
2020/03/04 星际争霸
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
调用WordPress函数统计文章访问量及PHP原生计数器的实现
2016/03/21 PHP
PHP时间戳格式全部汇总 (获取时间、时间戳)
2016/06/13 PHP
详解php中 === 的使用
2016/10/24 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
JQuery AJAX 中文乱码问题解决
2013/06/05 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
javascript检查某个元素在数组中的索引值
2016/03/30 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
Python正确重载运算符的方法示例详解
2017/08/27 Python
详解Python里使用正则表达式的ASCII模式
2017/11/02 Python
Python通过matplotlib画双层饼图及环形图简单示例
2017/12/15 Python
python数据抓取分析的示例代码(python + mongodb)
2017/12/25 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
Python常用断言函数实例汇总
2020/11/30 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
市场营销专科应届生求职信
2013/11/24 职场文书
小学生家长评语集锦
2014/01/30 职场文书
开会迟到检讨书
2014/02/03 职场文书