PHP 아키텍처 레이아웃을 이해하는 방법

醉折花枝作酒筹
풀어 주다: 2023-03-09 15:52:01
앞으로
1772명이 탐색했습니다.

이 기사에서는 PHP 아키텍처 레이아웃을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP 아키텍처 레이아웃을 이해하는 방법

실행 프로세스

위 그림에서 볼 수 있듯이 PHPCode를 파싱하고 실행하는 과정은 크게 4가지 단계로 구성됩니다.

PHP 아키텍처 레이아웃을 이해하는 방법

토큰을 얻으려면 Token_get_all('<?php echo "str";>') 함수를 통해 토큰 정보를 얻을 수 있습니다. Token_get_all('<?php echo "str";>')函数获取token信息.

抽象语法树主要将解释器和编译器进行解耦.

opcodes最终执行的指令,例如ZEND_ECHO:本质还是一个对应的C函数.

架构结构

PHP 아키텍처 레이아웃을 이해하는 방법
Zend层为上层的PHP层提供一些基础的内存管理以及数据结构等.

SAPI层为最上层和Server进行通信,封装了不同的通信类型,cgi,fast-cgi,cli等.

目录结构

sapi

存放根据不同环境支持的上层API交互形式,实现了不同的输入输出形式.

Zend

存放PHP相关的核心代码,如前所述内存管理等.

main

负责与Zend层交互的入口,还有一些钩子函数.

ext

主要是扩展相关的目录.通过ext_skel

추상 구문 트리는 주로 인터프리터를 연결합니다.

ZEND_ECHO와 같은 opcode에 의해 최종적으로 실행되는 명령은 본질적으로 해당 C 함수입니다.

아키텍처 구조


PHP Architecture Diagram Zend 계층은 상위 PHP 계층에 몇 가지 기본적인 메모리 관리 및 데이터 구조를 제공합니다.

SAPI 계층은 최상위 레이어와 서버는 cgi, fast-cgi, cli 등 다양한 통신 유형을 통신하고 캡슐화합니다.

디렉토리 구조

sapi🎜🎜는 다양한 환경에서 지원되는 상위 레이어 API 상호 작용 양식을 저장하여 입력 출력 형식. 🎜🎜Zend🎜🎜 위에서 언급한 PHP 관련 핵심 코드, 메모리 관리 등을 저장합니다. 🎜🎜main🎜🎜은 Zend 레이어와 상호 작용하는 입구를 담당하며 🎜 🎜ext🎜🎜는 주로 확장 관련 디렉터리입니다. ext_skel 명령을 통해 사용자 정의 모듈을 생성합니다. 🎜🎜TSRM🎜🎜스레드 리소스 관리 관련 디렉터리는 일반적으로 다음과 같은 경우에만 설치됩니다. Apache와 함께 사용되면 리소스 관리와 관련된 코드가 포함됩니다. 🎜 Nginx와 관련된 코드는 일반적으로 FastCGI 프로토콜만 사용하며 TSRM 모듈은 포함하지 않습니다. 🎜php 비디오 튜토리얼🎜🎜

위 내용은 PHP 아키텍처 레이아웃을 이해하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!