Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte PHP-Kernel-Erklärung der Zend-Engine

Detaillierte PHP-Kernel-Erklärung der Zend-Engine

黄舟
黄舟Original
2017-03-09 09:36:466270Durchsuche

Im vorherigen Kapitel haben wir den Lebenszyklus von PHP, PHPs SAPI, SAPI auf der oberen Ebene der gesamten PHP-Architektur und die Ausführung des eigentlichen Skripts vorgestellt wird hauptsächlich durch die Zend-Engine vervollständigt. In diesem Abschnitt stellen wir die Ausführung von PHP-Skripten vor.

Derzeit können Programmiersprachen in zwei Hauptkategorien unterteilt werden:

  • Die erste Kategorie ist wie C/C++, .NET, Java usw. Kompilierte Sprachen haben eines gemeinsam: Der Quellcode muss vor der Ausführung kompiliert werden, und dann muss die kompilierte Objektdatei ausgeführt werden.

  • Die zweite Kategorie ist: PHP, Javascript, Ruby, Python und andere interpretierte Sprachen, sie können ohne Kompilierung ausgeführt werden“, obwohl es kann als direkt ausgeführt verstanden werden

, sie werden von der Maschine nicht wirklich direkt verstanden. Die Maschine kann nur Maschinensprache verstehen, daher werden diese Sprachen ausgeführt ?Im Allgemeinen erfordern diese Sprachen einen Interpreter, und der Interpreter führt den Quellcode aus. Tatsächlich durchlaufen diese Sprachen weiterhin den Kompilierungsprozess, werden jedoch normalerweise in Echtzeit kompiliert. Aus Gründen der Effizienz werden nicht alle Sprachen bei jeder Ausführung neu kompiliert. Beispielsweise speichern die verschiedenen Opcode-Cache-Erweiterungen von PHP (wie APC, xcache, eAccelerator usw.) das kompilierte Zwischenprodukt Dateien in pyc/pyo-Dateien, um den Leistungsverlust zu vermeiden, der durch die Neukompilierung bei jeder Ausführung entsteht.

<?php
$str = "Hello, Tipi!\n";
echo $str;
?>


Die Ausführung von PHP-Skripten erfordert auch einen Interpreter, beispielsweise einen Befehl Zeile PHP-Programm unter oder das mod_php-Modul von Apache usw. Im vorherigen Abschnitt wurde die SAPI-Schnittstelle von PHP erwähnt. Nehmen wir das PHP-Befehlszeilenprogramm als Beispiel, um zu erklären, wie PHP-Skripte ausgeführt werden. Zum Beispiel das folgende PHP-Skript:

Angenommen, der obige Code ist in einer Datei namens hello.php gespeichert. Verwenden Sie das PHP-Befehlszeilenprogramm, um dieses Skript auszuführen:

$ php ./hello.php

Die Ausgabe dieses Codes ist offensichtlich Hallo, Tipi!, was hat PHP/Zend also gemacht, als das Skript ausgeführt wurde? Wie bewirken diese Anweisungen, dass PHP diesen Absatz ausgibt? Im Folgenden wird er Schritt für Schritt vorgestellt.




Das heißt: lexikalische Analyse => > ; Opcode-Kompilierung (Zwischencode) => Zend Engineer führt







Das obige ist der detaillierte Inhalt vonDetaillierte PHP-Kernel-Erklärung der Zend-Engine. 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