市面上很多PHP教材对文件包含的内容讲得都很简单,根本就没讲清楚。现将自己遇到的问题整理如下。 文件包含是模块化开发的重要方式。PHP中文件包含是通过四个函数实现的:include,require,include_once,require_once。 (1)文件包含的原理就是将被包含文件的代码复制到引用处。 (2)文件包含可以是本地文件也可以是远程文件,但两者根本不是一回事,通常我们说的都是本地文件包含。本地文件包含输入的是一个路径信息,远程文件包含传入的是一个URL。 (3)本地文件包含,要搞清楚是如何寻找被包含文件的,这个问题很重要。 a.当传入的是相对路径或者绝对路径时,如./a.php,../a.php,c:/www/a.php,会直接根据这个路径去寻找被包含文件。 b.当传入的只是一个文件名时,如a.php,b.php,首先会去include_path(PHP配置文件中可设置)所指定的路径下寻找被包含文件,如果找到了就停止;如果没有找到,会到当前文件所在目录下继续寻找。 (4)作用域 当一个文件被包含时,其中所包含的代码继承了 include 所在行的变量范围。从该处开始,调用文件在该行处可用的任何变量在被调用的文件中也都可用。不过所有在包含文件中定义的函数和类都具有全局作用域。 (5)include与require的区别 它们的区别仅仅在于对出错的处理方式不同,当文件包含出错时,include会产生警告,程序会继续执行;require会报告错误,程序终止执行。 (6)include与include_once的区别 当出现多重引用时,一定要注意。例如a.php包含了b.php、c.php,b.php包含了c.php,这时如果在a.php中使用include来包含b.php、c.php,就会报重复定义的错误,而应该使用include_once来包含文件。include_once,同一文件只包含一次,如果某文件被包含过了,就不再被包含了。 还有不清楚地方请移步:http://php.net/manual/zh/function.include.php 注:如有不准确的地方,欢迎批评指正。
PHP文件包含详解
最新推荐文章于 2024-07-23 22:08:32 发布