您的位置 首页 php

重蔚php学习第二十九天——php文件载入的原理

我们通常会在a文件中载入b文件,它的原理其实是:是在a文件载入b文件代码处插入b文件的源代码。而不是去b文件执行。

例1:

文件a

文件b

第二个文件有语法错误,属于编译错误,编译错误会影响整个文件的执行,但我们发现,会输出:first,但没有输出before,什么原因?

原理:

1)读入文件a源代码

2)编译文件a代码

3)运行文件a代码

4)执行echo ‘first’;

5)执行require语句

6)找到目标文件b,并去进行编译

7)将代码插入文件a并执行

8)执行echo ‘second’ 结束.

通过以上步骤可以看出,文件包含其实是分开编译的

1.关于包含文件的返回

在一个项目中,可以将所有相关信息写到某个文件中保存,那么这个文件我们称之为:配置文件

1.1.例1:包含配置文件

config.php

demo14.php

1.2.例2:在目标文件中使用return返回

可以看出,在目标文件,使用了return关键字后,后面的代码不再执行,也就是说,不再输出“first”,但是主程序后面的代码是执行

在php中,如何终止后面代码的执行

return :停止当前脚本的执行

die :终止整个脚本的执行 ,输出提示信息

exit :终止整个脚本的执行

1.3.例3:终止脚本执行

demo16.php

demo15.php

2.关于载入文件的路径问题

关于文件路径的几种表示方式:

2.1.绝对路径

d:\server\apache\htdocs\project

2.2. 相对路径

./ :表示当前路径

../ :表示上一级路径

在现在的操作系统中,每个文件夹下都默认有两个文件(隐藏),表示当前和上一级目录。

2.3.文件名

1.php 2.php 3.php Public/4.php

2.4./ (不建议)

例1:关于使用相对路径

demo17.php

Lesson04/

Public

demo17_1.php

demo17_2.php

demo17.php

demo17_3.php

例2:

demo17.php–àdemo17_1.php—–àdemo17_2.php

主文件包含目标文件,其实就是在主文件中运行。就是将目标文件中的代码插入到主程序中。最终运行的是主文件。所以运行中的路径是相对主文件而言的。

在demo17中包含demo17_1.php,实际上将demo17_1.php文件中的源代码插入至demo17文件中,所以引用demo17_2这个文件的路径应该是相对于demo17而言的。

3.了解一下:

在大型项目,必须固定当前项目的完整根路径,可以使用以上形式。

4.关于文件加载的四种方式:

l require() :包含某个文件

l include() :包含某个文件

如果是在布局中包含某个版块的文件,可以考虑使用include,这样即使文件不存在,可以使用@进行错误控制

例1:require与include的区别:

例2:include与include_once的区别 require与require_once的区别

定义了一个公共函数的文件,包含加法与减法运算

包含公共函数文件

如果直接使用include或require,那么说明common.php文件中定义的函数被执行两次,这叫做“函数重定义”,会出现错误,可以使用 _once函数,表示在包含时会自动进行判断,如果当前文件被引用过,则不包含,如果没有引用过,直接包含。

文章来源:智云一二三科技

文章标题:重蔚php学习第二十九天——php文件载入的原理

文章地址:https://www.zhihuclub.com/151775.shtml

关于作者: 智云科技

热门文章

网站地图