이 기사에서는 PHP 아키텍처 레이아웃을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
실행 프로세스
위 그림에서 볼 수 있듯이 PHPCode를 파싱하고 실행하는 과정은 크게 4가지 단계로 구성됩니다.
토큰을 얻으려면 Token_get_all('<?php echo "str";>')
함수를 통해 토큰 정보를 얻을 수 있습니다. Token_get_all('<?php echo "str";>')
函数获取token信息.
抽象语法树主要将解释器和编译器进行解耦.
opcodes最终执行的指令,例如ZEND_ECHO:本质还是一个对应的C函数.
Zend层为上层的PHP层提供一些基础的内存管理以及数据结构等.
SAPI层为最上层和Server进行通信,封装了不同的通信类型,cgi,fast-cgi,cli等.
存放根据不同环境支持的上层API交互形式,实现了不同的输入输出形式.
存放PHP相关的核心代码,如前所述内存管理等.
负责与Zend层交互的入口,还有一些钩子函数.
主要是扩展相关的目录.通过ext_skel
SAPI 계층은 최상위 레이어와 서버는 cgi, fast-cgi, cli 등 다양한 통신 유형을 통신하고 캡슐화합니다.
ext_skel
명령을 통해 사용자 정의 모듈을 생성합니다. 🎜🎜TSRM🎜🎜스레드 리소스 관리 관련 디렉터리는 일반적으로 다음과 같은 경우에만 설치됩니다. Apache와 함께 사용되면 리소스 관리와 관련된 코드가 포함됩니다. 🎜 Nginx와 관련된 코드는 일반적으로 FastCGI 프로토콜만 사용하며 TSRM 모듈은 포함하지 않습니다. 🎜php 비디오 튜토리얼🎜🎜위 내용은 PHP 아키텍처 레이아웃을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!