现在的位置: 网页制作教程网站制作教程 >正文
php网上学习

PHP中include和require区别

发表于2017/3/13 网站制作教程 0条评论 ⁄ 热度 1,851℃

1、PHP中include和require区别

当要包含的文件不存在时,include产生一个警告(Warning),该语句后面的程序会继续执行;而 require则导致一个致命错误(Fatal error),程序就此终止。

2、路径问题(适用于include和require)

+c.php
+folder1
+----a.php
+----folder2
+--------b.php

a.php
    include 'folder2/b.php';
b.php
    include 'c.php';

执行a.php过程

  • 包含"b.php",并执行"b.php"
  • 在folder1(当前工作目录,"a.php"所在目录下)下查找"c.php",查找不到则执行下一步
  • 在folder2(当前文件目录,"b.php"所在目录下)下查找"c.php"。

无论是"a.php",还是"b.php",若include路径中含有"../",则都在当前工作目录(folder1,"a.php"所在目录)的上级目录中查找。

3、变量作用域

  • 一个文件被包含时,所包含的代码继承了“include”所在行的变量范围,该行处可用的任何变量在被包含的文件中都可用。主要针对于函数中的include。
  • 所有在包含文件中定义的函数和类都具有全局作用域,和变量不同。普通变量的变量作用于继承了“include”所在行的变量范围,例如函数中的include。

4、include_path

set_include_path(       
    get_include_path()
    . PATH_SEPARATOR . './library' 
    . PATH_SEPARATOR . './application/models'
); 

默认的include_path=".;C:\xampp\php\PEAR",使用set_include_path设置后,(不论文件的包含层级怎样)后续的所有程序都会使用该值,该函数可多次调用。

  • 暂无评论