PHP中单个文件加载、执行逻辑

先看一个例子:

这里面 A  C 都能输出出来, B 不能输出出来。

说明什么?

  1. 同一个文件中,类可以先使用后定义(但不完全)。

为什么类A和类C 都能执行,类B定义在中间反而不能执行了呢?

(猜测)PHP的加载执行逻辑:

  1. 先扫一遍文件:
    1.  把能加载的类先加载进来
      1. 上面文件中类A很干净,可以直接加载
    2. 扫到类B的时候,发现继承了C,但是C还没被扫到,所以不能加载类B
    3. 扫到类C的时候,发现C很干净,可以直接加载
  2. 再从头执行文件
    1. 发现类A 和类C已经加载进来了,可以执行。
    2. 发现类B没有加载进来,所以不能执行

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据