PHP文件载入和载入路径

一.文件载入

所谓的文件的载入,就是指将需要的目标文件的代码载入到当前的位置上,从某种意义上来说,文件载入也是一种流程控制!

文件载入的主要目的是体现网站的分层设计,因为不同的页面有很多相同的区域(相同的代码)这些相同的代码区域只需要书写一次,在需要的时候将该文件载入进来即可!以代码的重用!

 PHP提供了四种文件载入的语句:

    include,include_once,require,require_once

    它们主要的功能都是实现文件的载入,只是有些语法上的差别!

include

基本的语法形式:

include ‘目标文件地址’;

执行的结果:

 

 

几点注意:

1,  载入的文件无论是什么类型,我们需要的只是目标文件内的代码,而与文件的后缀名无关!

 

2,  载入的目标文件内,无论是html代码还是php代码,都可以正常的执行!

 

 

 

 

载入过程(原理)

载入的过程发生在代码的运行阶段,而不是代码的预编译阶段

1,  执行到include的时候,先退出PHP模式,进入到了HTML模式

 

 

2,载入目标文件的源代码,相当于将目标文件里面的所有的内容复制到目标位置

3,将载入的代码从源代码开始预编译并执行!

 

4,再次进入到PHP模式!

二.载入的路径问题

可以分成:相对路径,默认路径和绝对路径!

相对路径

相对于当前脚本文件所在的位置的路径!典型的相对路径有:

 

./      :当前执行脚本所在的当前目录

../     :当前执行脚本所在的上级目录

 

(补充:其实任何目录下都有两个隐藏的目录,一个就是.一个就是..)

/        :在真实的项目中一般代表网站的根目录

默认路径

 

 

注意:

默认路径是可以配置的,而不仅仅代表当前路径!

在早期的项目中,有一个比较简单的做法,把所有可能被载入的文件全部放到一个统一的目录下,然后将该目录配置成默认路径,而在进行文件载入的时候使用默认路径即可!

然后在php.ini中配置默认路径:

 

直接修改配置文件,对所有的项目都生效了,所以还有一个函数可以使用:set_include_path作用就是设置当前脚本的默认的路径!

 

set_include_path(‘当前脚本的默认路径’);

 

 

绝对路径

当出现多重载入的时候,根据相对路径很容易发生混淆或者错误,所以,在真实的项目中,一般都采用绝对路径进行载入!

 

因为在载入一个文件的时候,该文件的绝对位置是不可能发生改变的,而相对路径是取决于当前的代码在哪个文件内执行,会发生改变!

于是,又遇到了另外一个问题,当我们进行项目移植的时候,绝对路径的地址很有可能会发生改变,所以,在真实的项目中,应该先定义目录常量!

不同的载入语句的区别

require与include

同样适用于require_once和include_once

 

都是在进行文件的载入,只是对目标文件的依赖程度不一样,所产生的错误级别也不一样:

错误的级别:

error:致命错误,比如出现语法错误

warning:警告错误

Notice:错误级别最低

 

require:必须载入,如果目标文件不存在,则报告一个error级别的错误,后续代码就停止运行!

include:载入,如果目标文件不存在,则报告一个warning级别的错误,但是后续代码继续执行!

 

include与include_once

同样适用于require与require_once

这里的once是一次的意思!

就是在载入之前先进行一次判断,判断当前载入的文件前面是否已经载入过,如果已经载入过,就不再载入了,如果没有载入过,则继续载入!从而保证某个文件在一个文档中不会重复载入!

 

有时候,只载入一次的判断是非常有必要的,比如,函数不能重复定义!

 

posted @ 2017-08-27 13:57  QinXiao.Shou  阅读(723)  评论(0编辑  收藏  举报