php学习(四)(文件相关)

文件加载原理

  1. 在文件加载(include或者require)的时候,系统会自动地将被包含文件中的代码相当于嵌入到当前的文件中
  2. 加载位置:在哪加载,对应的文件中的代码嵌入的位置就是对应的include的位置
  3. 在PHP中被包含的文件是单独进行编译的

PHP文件在编译的过程中如果出现了语法错误,那么会失败(不会执行);但是如果被包含文件有错误的时候,系统会在执行到包含include这条语句的时候才会报错

PHP代码的执行流程

  1. 读取代码文件(PHP程序)
  2. 编译:将PHP代码转换为字节码(生成opcode)
  3. zend engine来解析opcode,按照字节码去进行逻辑运算
  4. 转换成对应的HTML代码

include和require区别

include和include_once的区别:

include 系统会碰到一次,执行一次;如果对同一个文件进行多次加载,那么系统会执行多次

include_once:系统会碰到多次时,也只会加载一次

require和include的区别

本质都是包含文件,唯一的区别在于包含不到文件的时候,报错的形式不同

include的报错级别较轻:不会阻止代码运行

require的报错级别较高:如果包含出错代码不再会执行(require后面的代码)

文件加载路径

文件在加载的时候需要指定文件路径才能保证PHP正确的找到对应的文件

文件的加载路径包含两大类:

  1. 绝对路径

    从磁盘的根目录开始(本地绝对路径)

    windows:盘符C:/路径/php文件

    Linux:/路径/php文件

    从网站的根目录开始(网络绝对路径)

    /:相当于网络主机名字对应的路径

  2. 相对路径:从当前文件所在目录开始的路径

    .|./:表示当前文件夹

    ../:上级目录(当前文件夹的上一层文件夹)

绝对路径和相对路径的加载区别

  1. 绝对路径相对效率偏低,但是相对安全(路径不会出问题)
  2. 相对路径效率偏高,但是容易出错(路径会出问题)

文件嵌套包含

文件嵌套包含:一个文件包含另一个文件,同时被包含的文件又包含了另外一个文件

嵌套包含的时候就很容易出现相对路径出错的问题

猜你喜欢

转载自www.cnblogs.com/Joshua-Zhang/p/12198663.html