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 相关文章推荐
加速XP搜索功能堪比vista
Mar 22 PHP
php 删除记录同时删除图片文件的实现代码
May 12 PHP
PHP缩略图等比例无损压缩,可填充空白区域补充色
Jun 10 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
php接口和抽象类使用示例详解
Mar 02 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
php四种定界符详解
Feb 16 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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
php daodb插入、更新与删除数据
2009/03/19 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
PHP简单检测网址是否能够正常打开的方法
2016/09/04 PHP
php pdo操作数据库示例
2017/03/10 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
js实现字符串的16进制编码不加密
2014/04/25 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
SeaJS中use函数用法实例分析
2017/10/10 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
进一步探究Python的装饰器的运用
2015/05/05 Python
解决python2.7 查询mysql时出现中文乱码
2016/10/09 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
python+influxdb+shell编写区域网络状况表
2018/07/27 Python
Python分割指定页数的pdf文件方法
2018/10/26 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
2019/05/06 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
对tensorflow 中tile函数的使用详解
2020/02/07 Python
pandas分组聚合详解
2020/04/10 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
用pandas划分数据集实现训练集和测试集
2020/07/20 Python
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
领导干部廉政自律承诺书
2014/05/26 职场文书
超市促销活动总结
2014/07/01 职场文书
学习十八大的心得体会
2014/09/01 职场文书
安全教育观后感
2015/06/17 职场文书
2016年“我们的节日·中秋节”活动总结
2016/04/05 职场文书