Heim >Backend-Entwicklung >PHP-Problem >Hat PHP eine virtuelle Maschine?

Hat PHP eine virtuelle Maschine?

(*-*)浩
(*-*)浩Original
2019-10-15 14:45:223648Durchsuche

Hat PHP eine virtuelle Maschine?

PHP Virtual Machine

Virtuelle Maschinen sind auch Computer. Wenn Sie eine virtuelle Maschine entwerfen, sollten Sie dies zuerst tun Betrachten Sie drei Elemente: Anweisungen, Datenspeicherung, Funktionsstapelrahmen;

Anweisungen (Empfohlenes Lernen: PHP-Video-Tutorial)

Anweisungen bestehen aus Opcodes und Operanden ;Der Opcode gibt den Operationstyp dieser Anweisung an, und der Operand gibt den Operanden selbst oder die Adresse des Operanden an

Datenspeicherung

PHP virtuell Die Maschine unterstützt mehrere Datentypen: Ganzzahl, Gleitkomma, Zeichenfolge, Array, Objekt usw.;

Funktionsstapelrahmen

Die virtuelle PHP-Maschine implementiert einen ähnlichen Funktionsstapelrahmen zur Struktur einer physischen Maschine; Verwenden Sie _zend_vm_stack, um die Stapelstruktur darzustellen; , und sind Zeiger vom Typ zval;

Zusammenfassung

Die virtuelle PHP-Maschine ist auch ein Computer. Es gibt drei Punkte, auf die wir uns konzentrieren müssen: Befehlssatz (einschließlich Befehlsverarbeitungsfunktionen), Datenspeicherung (zval) und Funktionsstapelrahmen;

An diesem Punkt kann die virtuelle Maschine Anweisungen annehmen und den Befehlscode ausführen

Die virtuelle PHP-Maschine dient jedoch der Ausführung von PHP-Code. Wie kann der PHP-Code in eine virtuelle PHP-Maschine umgewandelt werden? stellt außerdem einen Compiler bereit, der den PHP-Code in eine Reihe von Anweisungen umwandeln kann, die erkannt werden können.

Theorie: Sie können jede Sprache anpassen, solange Sie einen Compiler implementieren, der Ihre eigene Sprache konvertieren kann In Anweisungscodes umwandeln, die PHP erkennen kann, kann es von der virtuellen PHP-Maschine ausgeführt werden

Das obige ist der detaillierte Inhalt vonHat PHP eine virtuelle Maschine?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn