《PHP内核剖析》笔记--1.4

1.php源码下的几个主要目录:

SAPI、main、Zend、ext.
SAPI是PHP的应用接口层.
main是PHP的主要代码,主要是输入/输出、Web通信、PHP的初始化操作(比如fastcgi协议的解析、扩展的加载、PHP配置的解析等)等,它位于ZendVM的上一层.
Zend是PHP解析器的主要实现,即ZendVM,它是PHP语言的核心实现,PHP代码的解释、执行就是由Zend完成的.
ext是PHP的扩展目录.
TSRM是线程安全相关的实现.

2.PHP的基本构成:
《PHP内核剖析》笔记--1.4_第1张图片

1)SAPI

常用的两个SAPI是Fpm和Cli.
SAPI层是整个PHP框架的最外层,不同的SAPI适配不同的环境(比如命令行、web等),主要负责框架的初始化工作.
如果SAPI是一个独立的应用程序(比如cli或fpm),那么main函数也定义在SAPI中.

2)ZendVM

ZendVM是一个虚拟计算机,它介于PHP应用与实际计算机之间,我们编写的PHP代码就是被它解释执行的.
它主要由两部分组成:编译器、执行器.
    编译器负责将PHP代码解释为执行器可识别的指令.
    执行器负责执行编译器解释出来的指令.
ZendVM等价于Java中的JVM,他们都是抽象出来的虚拟计算机.

3)Extension

扩展是PHP内核提供的一套用于补充PHP功能的方式.
扩展分为PHP扩展和Zend扩展.
    PHP扩展比较常见.
    Zend扩展主要应用于ZendVM,Opcache就是Zend扩展.

你可能感兴趣的:(php)