PHP 引用文件技巧

yipeiwu_com6年前PHP代码库
我们知道,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

相关文章

WordPress中用于检索模版的相关PHP函数使用解析

locate_template() 用来检索存在的优先级最高的模板文件,还能直接加载模板文件。 locate_template() 函数检索时,如果有子主题则优先使用子主题的模板,没有再...

php 8小时时间差的解决方法小结

原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的 也就是显示的时间(无论用什么php命令)都是格林威治标准时间 和我们的时间(北京...

PHP开发入门教程之面向对象

PHP是弱变量的脚本语言,也就是说你无需先定义,这一点很灵活。也可以给予很大的自由度,但对于程序来说,自由并非好事。  因为给予后期维护人员阅读带来很大的麻烦。  下面来进入我们第一个程...

Php部分常见问题总结第1/2页

若有出错地方或者你有更好的想法,欢迎跟贴. 在提问题前请先仔细查阅PHP手册,MYSQL手册  以及PHPINFO里面的设置 另外希望你读一下PHP编程标准 ...

简单了解将WordPress中的工具栏移到底部的小技巧

简单了解将WordPress中的工具栏移到底部的小技巧

从 WordPress 3.1 开始引入了工具栏的概念,当用户登录后在前台和后台的页面顶部会显示一个黑色的工具栏,通过工具栏可以快捷地新建文章、页面、媒体、用户,以及查看文章和评论等功能...