Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Einführung in die Zend-Engine

Detaillierte Einführung in die Zend-Engine

零下一度
零下一度Original
2017-06-13 09:20:023332Durchsuche

1. Vorwort HashTable ist die Seele von PHP, da HashTable in der Zend-Engine weit verbreitet ist, z. B. als Variablentabelle, Konstantentabelle, Funktionstabelle usw., die an die HashTable-Speicherung angepasst sind. Darüber hinaus werden PHP-Arrays auch mithilfe von HashTble implementiert. Daher können Sie PHP nur wirklich verstehen, wenn Sie PHPs HashTable verstehen. Zur besseren Lesbarkeit sind hier die grundlegenden Konzepte aufgeführt, die in der Implementierung von HashTable vorkommen. Eine Hash-Tabelle ist eine Datenstruktur, die über eine Hash-Funktion bestimmte Schlüssel bestimmten Werten zuordnet. Sie sorgt für eine Eins-zu-Eins-Entsprechung zwischen Schlüsseln und Werten. Schlüssel: Ein Bezeichner, der zum Bearbeiten von Daten verwendet wird, z. B. ein Index in einem PHP-Array oder ein Zeichenfolgenschlüssel usw. Slot (Slot/Bucket): Eine Einheit in der Hash-Tabelle, die zum Speichern von Daten verwendet wird. Dabei handelt es sich um den Container, in dem die Daten tatsächlich gespeichert werden. Hash-Funktion: Eine Funktion, die Schlüssel dem Speicherort des Slots zuordnet, in dem die Daten gespeichert werden sollen. Hash-Kollision: Eine Situation, in der eine Hash-Funktion zwei verschiedene Schlüssel demselben Index zuordnet. PHP

1. PHP-Kernel – Eine kurze Erklärung der Seele von PHP HashTble

Detaillierte Einführung in die Zend-Engine

Einleitung: 1. Vorwort HashTable ist die Seele von PHP, da HashTable in der Zend-Engine weit verbreitet ist, z. B. als Variablentabelle, Konstantentabelle, Funktionstabelle usw., die an die HashTable-Speicherung angepasst sind. Darüber hinaus werden PHP-Arrays auch mithilfe von HashTble implementiert. Daher können Sie PHP nur wirklich verstehen, wenn Sie PHPs HashTable verstehen. Zur besseren Lesbarkeit sind hier die grundlegenden Konzepte aufgeführt, die in der Implementierung von HashTable vorkommen. Eine Hash-Tabelle ist eine Hash-Funktion, die bestimmte Schlüssel

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

Detaillierte Einführung in die Zend-Engine

Einführung: Im vorherigen Kapitel haben wir den Lebenszyklus von PHP vorgestellt. PHPs SAPI und SAPI befinden sich auf der oberen Ebene der gesamten PHP-Architektur, während die Die Ausführung echter Skripte erfolgt hauptsächlich durch die Zend-Engine. In diesem Abschnitt stellen wir die Ausführung von PHP-Skripten vor. Derzeit können Programmiersprachen in zwei Hauptkategorien unterteilt werden: Die erste Kategorie sind kompilierte Sprachen wie C/C++, .NET und Java. Ihre Gemeinsamkeit besteht darin, dass der Quellcode vor der Ausführung kompiliert werden muss Das kompilierte Ziel kann als Dokument ausgeführt werden. Die zweite Kategorie ist wie: PHP, Javascript, Ru

3. [Übersetzung] [Entwicklung und Einbettung von PHP-Erweiterungen] Kapitel 10 – PHP4-Objekte

Detaillierte Einführung in die Zend-Engine

Einführung: Es war einmal, in sehr frühen Versionen unterstützte PHP in PHP4 The Zend keine objektorientierte Programmiersyntax Engine (ZE1) wurde eingeführt und mehrere neue Funktionen erschienen, darunter Objektdatentypen

4

PHP-Kernelanalyse (5)-zval

Detaillierte Einführung in die Zend-Engine

Einführung: Die hier gelesene PHP-Version ist PHP-7.1.0 RC3, und die Plattform zum Lesen des Codes ist Linux Von dieser Funktion aus ist es in den Bereich der Zend-Engine gelangt. zend_eval_string_ex(exec_direct, NULL, "Befehlszeilencode", 1) ruft tatsächlich Zend/zend_exec auf...

5.

Ändern Sie das Prinzip der Zend-Engine, um PHP-Quellcode zu implementieren Verschlüsselung und Übung

Detaillierte Einführung in die Zend-Engine

Einführung: Der Quellcode von PHP-Dateien besteht ausschließlich aus Klartext, der für geeignet ist Einige kommerzielle Zwecke, nicht geeignet. Erwägen Sie daher die Verwendung einer Verschlüsselung zum Schutz des Quellcodes.

6.

PHP7-Parameter, Arrays und Zvals

Detaillierte Einführung in die Zend-Engine

Einführung: Jetzt können Sie einfache Funktionen deklarieren und statische oder dynamische Werte zurückgeben. Definieren Sie INI-Optionen und deklarieren Sie interne oder globale Werte. In diesem Kapitel erfahren Sie, wie Sie den Wert des vom aufrufenden Skript (PHP-Datei) übergebenen Parameters empfangen und wie der PHP-Kernel und die Zend-Engine interne Variablen bedienen.

7. Makro für den Rückgabewert der PHP-Erweiterung in der Zend-Engine

Einführung:: In diesem Artikel wird hauptsächlich der Rückgabewert der PHP-Erweiterung in der Zend-Engine vorgestellt Wertmakros, Studierende, die sich für PHP-Tutorials interessieren, können darauf verweisen.

8. Detailliertes Verständnis des PHP-Kern-II-Überblicks – PHP-Lebenszyklus und Zend-Engine

Einführung: :Dieser Artikel führt hauptsächlich ein detailliertes Verständnis des PHP-Kern-II-Überblicks ein – PHP-Lebenszyklus und Zend-Engine. Studenten, die sich für PHP-Tutorials interessieren, können darauf zurückgreifen.

9. Detailliertes Verständnis des PHP-Kernels – Überblick – PHP-Lebenszyklus und Zend-Engine

Einführung: :Dieser Artikel bietet hauptsächlich einen Überblick über den PHP-Kernel-PHP-Lebenszyklus und die Zend-Engine. Studenten, die sich für PHP-Tutorials interessieren, können darauf zurückgreifen.

10. Syntax: Implementierung der IF-Beurteilung

Detaillierte Einführung in die Zend-Engine

Einführung:: Grammatik: Implementierung der IF-Beurteilung: Bei Interviews mit PHP stoße ich oft auf die Frage, ob verschiedene Arten von Nullwerten wahr sind: $a = ''; $a = null $a = false;if($a){...} if(isset($a)){...} if(empty($a)){...} ... Schauen wir uns anhand des folgenden Beispiels kurz an, wie if in der Zend-Engine gehandhabt wird:

[Verwandte Frage-und-Antwort-Empfehlung]:

Ein Fehler wird nach dem gemeldet Der Rückgabewert der PHP-Erweiterungsentwicklungsfunktion wird nicht verwendet. Das Implementierungsprinzip

Einige Fragen, auf die PHP-Programmierer stoßen, die C lernen

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die 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