Heim >Backend-Entwicklung >PHP-Problem >Wie man das Layout der PHP-Architektur versteht

Wie man das Layout der PHP-Architektur versteht

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-05-11 17:19:421880Durchsuche

Dieser Artikel führt Sie in das PHP-Architekturlayout ein. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Wie man das Layout der PHP-Architektur versteht

Ausführungsprozess

Wie aus der obigen Abbildung ersichtlich ist, gibt es vier Hauptphasen vom Parsen des PHP-Codes bis zur Ausführung.

Wie man das Layout der PHP-Architektur versteht

Um ein Token zu erhalten, können Sie Token-Informationen über die Funktion Token_get_all('<?php echo "str";>') abrufen. Token_get_all('<?php echo "str";>')函数获取token信息.

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

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

架构结构

Wie man das Layout der PHP-Architektur versteht
Zend层为上层的PHP层提供一些基础的内存管理以及数据结构等.

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

目录结构

sapi

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

Zend

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

main

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

ext

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

Abstrakter Syntaxbaum verbindet hauptsächlich den Interpreter und Compiler-Entkopplung.

Die letztendlich von Opcodes ausgeführten Anweisungen, wie z. B. ZEND_ECHO: sind im Wesentlichen eine entsprechende C-Funktion

Architekturstruktur


PHP Architecture Diagram Die Zend-Schicht stellt einige grundlegende Speicherverwaltungs- und Datenstrukturen für die obere PHP-Schicht bereit.

Die SAPI-Schicht ist die Die oberste Schicht und der Server kommunizieren und kapseln verschiedene Kommunikationstypen, CGI, Fast-CGI, CLI usw.

Verzeichnisstruktur

sapi🎜🎜 speichert die API-Interaktionsformen der oberen Schicht, die von verschiedenen Umgebungen unterstützt werden, und realisiert so unterschiedliche Eingaben Ausgabeformular. 🎜🎜Zend🎜🎜 speichert PHP-bezogenen Kerncode, Speicherverwaltung usw. 🎜🎜main🎜🎜 ist für den Eingang zur Interaktion mit der Zend-Ebene verantwortlich 🎜 🎜ext🎜🎜 ist hauptsächlich eine Erweiterung. Verwandte Verzeichnisse werden über den Befehl ext_skel generiert. Sie werden standardmäßig in diesem Verzeichnis installiert, im Allgemeinen nur, wenn In Verbindung mit Apache werden Threads verwendet, die sich auf die Ressourcenverwaltung beziehen. 🎜 Diejenigen, die sich auf Nginx beziehen, verwenden im Allgemeinen nur das FastCGI-Protokoll und umfassen nicht das TSRM-Modul. 🎜🎜Empfohlenes Lernen: 🎜php-Video-Tutorial🎜🎜

Das obige ist der detaillierte Inhalt vonWie man das Layout der PHP-Architektur versteht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Was bedeuten -> und => in PHP?Nächster Artikel:Was bedeuten -> und => in PHP?