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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
用php获取远程图片并把它保存到本地的代码
Apr 07 PHP
PHP表单递交控件名称含有点号(.)会被转化为下划线(_)的处理方法
Jan 06 PHP
php 判断数组是几维数组
Mar 20 PHP
smarty中改进truncate使其支持中文的方法
May 30 PHP
php 指定范围内多个随机数代码实例
Jul 18 PHP
Discuz论坛密码与密保加密规则
Dec 19 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 PHP
PHP7 整型处理机制修改
Mar 09 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源代码
2013/06/26 PHP
php结合正则批量抓取网页中邮箱地址
2015/05/19 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
javascript 设置某DIV区域内的checkbox复选框
2009/11/30 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
jQuery之日期选择器的深入解析
2013/06/19 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
深究AngularJS中$sce的使用
2017/06/12 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
[03:44]2014DOTA2国际邀请赛 71专访:DK战队赛前讨论视频遭泄露
2014/07/13 DOTA
举例区分Python中的浅复制与深复制
2015/07/02 Python
python3实现微型的web服务器
2019/09/03 Python
如何基于python操作excel并获取内容
2019/12/24 Python
Django自定义全局403、404、500错误页面的示例代码
2020/03/08 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
python实现发送QQ邮件(可加附件)
2020/12/23 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
劳资人员岗位职责
2013/12/19 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
终止劳动合同协议书
2014/04/14 职场文书
工商企业管理应届生求职信
2014/05/04 职场文书
保护黄河倡议书
2014/05/16 职场文书
企业职业病防治方案
2014/05/29 职场文书
综合测评自我评价
2015/03/06 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
python3 sqlite3限制条件查询的操作
2021/04/07 Python