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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
图书管理程序(三)
Oct 09 PHP
php xml文件操作代码(一)
Mar 20 PHP
判断是否为指定长度内字符串的php函数
Feb 16 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
php随机显示图片的简单示例
Feb 15 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
laravel框架学习笔记之组件化开发实现方法
Feb 01 PHP
如何理解PHP核心特性命名空间
May 28 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 之 没有mysql支持时的替代方案
2006/10/09 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
2015/12/10 PHP
PHP中的session安全吗?
2016/01/22 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
php中yii框架实例用法
2020/12/22 PHP
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
利用了jquery的ajax实现二级联互动菜单
2013/12/02 Javascript
wap图片滚动特效无css3元素纯js脚本编写
2014/08/22 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
纯javascript实现自动发送邮件
2015/10/21 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
jQuery实现一个简单的验证码功能
2017/06/26 jQuery
JS继承与闭包及JS实现继承的三种方式
2017/10/15 Javascript
一文了解Vue中的nextTick
2019/05/06 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
JavaScript手写数组的常用函数总结
2020/11/22 Javascript
详细解读tornado协程(coroutine)原理
2018/01/15 Python
numpy实现合并多维矩阵、list的扩展方法
2018/05/08 Python
pandas使用get_dummies进行one-hot编码的方法
2018/07/10 Python
python多进程控制学习小结
2018/10/31 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
解析python的局部变量和全局变量
2019/08/15 Python
解决tensorflow读取本地MNITS_data失败的原因
2020/06/22 Python
迪拜航空官方网站:flydubai
2017/04/20 全球购物
生产车间班组长岗位职责
2014/01/06 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
采购员岗位职责
2015/02/03 职场文书
人力资源部岗位职责
2015/02/11 职场文书
放假通知范文
2015/04/14 职场文书
村官2015年度工作总结
2015/10/14 职场文书
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python