Funktionsweise benutzerdefinierter PHP-Funktionen und Einführung in die strukturierte Programmierung

伊谢尔伦
Freigeben: 2023-03-07 18:18:01
Original
2198 Leute haben es durchsucht

Die Codeanweisungen in der Funktion werden nur dann ausgeführt, wenn die Funktion aufgerufen wird, und ihr Zweck besteht darin, bestimmte Aufgaben auszuführen. Nachdem die Funktion ausgeführt wurde, kehrt die Steuerung an die Stelle zurück, an der die Funktion aufgerufen wurde, und die Funktion kann Informationen in Form eines Rückgabewerts an das Programm zurückgeben. Durch die Verwendung von Funktionen in Ihrem Programm können Sie strukturierte Programmierung durchführen. Bei der strukturierten Programmierung wird jede Aufgabe Stück für Stück mithilfe eines unabhängigen Programmcodes erledigt. Funktionen sind der idealste Weg, dieses „Unabhängige Cheng Xun-Codesegment “ formal zu implementieren, daher ist die Beziehung zwischen Funktionen und strukturierter Programmierung sehr eng. Strukturierte Programmierung eignet sich aus ganz eigenen Gründen hervorragend, vor allem aus den folgenden zwei wichtigen Gründen:

1. Strukturierte Programmierung Einfacher zu schreiben, da komplexe Programmierprobleme in mehrere unterteilt sind kleinere, einfachere Aufgaben. Jede Aufgabe wird von einer Funktion ausgeführt und der Code und die Variablen in der Funktion sind unabhängig vom Rest des Programms. Indem Sie jeweils eine einfache Aufgabe angehen, wird die Programmierung schneller.

2. Strukturierte Programme sind einfacher zu debuggen. Wenn im Programm Code vorhanden ist, der nicht ordnungsgemäß ausgeführt wird, ermöglicht das strukturierte Design die Eingrenzung des Problems auf einen bestimmten einzelnen Codeabschnitt, beispielsweise eine bestimmte Funktion. Auf diese Weise ist es einfacher, Fehler zu beheben und zu ändern. Gehen Sie einfach Schritt für Schritt von oben nach unten und von links nach rechts vor.

Ein wesentlicher Vorteil der strukturierten Programmierung ist die Zeitersparnis. Wenn Sie in einem Programm eine Funktion schreiben, die eine bestimmte Aufgabe ausführt, können Sie sie in einem anderen Programm verwenden, das dieselbe Aufgabe ausführen muss. Selbst wenn das Programm eine etwas andere Aufgabe erfordert, ist es einfacher, eine vorhandene Funktion zu ändern, als sie neu zu schreiben. Denken Sie darüber nach, Sie verwenden häufig echo () und var_dump (). Obwohl Sie zunächst die Funktion des Programms bestätigen sollten, müssen Sie einige Planungen durchführen und im Plan alle spezifischen Aufgaben auflisten, die das Programm ausführen wird. Verwenden Sie dann Funktionen, um jede spezifische Aufgabe zu schreiben, und rufen Sie jede Aufgabenfunktion in der Ausführungsreihenfolge im Hauptprogramm auf, um ein vollständiges strukturiertes Programm zu erstellen. In der folgenden Abbildung ist ein Programm dargestellt, das drei Funktionen enthält. Jede Funktion führt eine bestimmte Aufgabe aus und kann im Hauptprogramm einmal oder mehrmals aufgerufen werden. Immer wenn eine Funktion aufgerufen wird, wird die Kontrolle an die Funktion übergeben. Nachdem die Funktion ausgeführt wurde, kehrt die Steuerung an die Stelle zurück, an der die Funktion aufgerufen wurde

, wie in der folgenden Abbildung dargestellt:

Funktionsweise benutzerdefinierter PHP-Funktionen und Einführung in die strukturierte Programmierung

php implementiert eine typische dynamische Sprache Ausführungsprozess: Nachdem ein Teil des Codes erhalten wurde, wird das Quellprogramm nach lexikalischer Analyse, Syntaxanalyse und anderen Schritten in Anweisungen (Opcodes) übersetzt, und dann führt die virtuelle ZEND-Maschine diese Anweisungen nacheinander aus, um den Vorgang abzuschließen. PHP selbst ist in C implementiert, daher sind die letztendlich aufgerufenen Funktionen alle C-Funktionen. Tatsächlich können wir PHP als eine in C entwickelte Software betrachten. Aus der obigen Beschreibung ist nicht schwer zu erkennen, dass die Ausführung von Funktionen in PHP auch in Opcodes zum Aufruf übersetzt wird. Jeder Funktionsaufruf führt tatsächlich eine oder mehrere Anweisungen aus.

Zend wird für jede Funktion durch die folgende Datenstruktur beschrieben

typedef union _zend_function { 
zend_uchar type; /* MUST be the first element of this struct! */ 
struct { 
zend_uchar type; /* never used */ 
char *function_name; 
zend_class_entry *scope; 
zend_uint fn_flags; 
union _zend_function *prototype; 
zend_uint num_args; 
zend_uint required_num_args; 
zend_arg_info *arg_info; 
zend_bool pass_rest_by_reference; 
unsigned char return_reference; 
} common;

zend_op_array op_array; 
zend_internal_function internal_function; 
} zend_function;

typedef struct _zend_function_state { 
HashTable *function_symbol_table; 
zend_function *function; 
void *reserved[ZEND_MAX_RESERVED_RESOURCES]; 
} zend_function_state;
Nach dem Login kopieren

wobei Typ den Typ der Funktion angibt: Benutzerfunktion, integrierte Funktion, schwer Funktion Ladefunktion. Common enthält die grundlegenden Informationen der Funktion, einschließlich Funktionsname, Parameterinformationen, Funktionsflags (normale Funktionen, statische Methoden, abstrakte Methoden) usw. Darüber hinaus gibt es für Benutzerfunktionen auch eine Funktionssymboltabelle, in der interne Variablen usw. aufgezeichnet werden, die später ausführlich beschrieben wird. Zend verwaltet eine globale function_table, eine große Hash-Tabelle. Wenn eine Funktion aufgerufen wird, wird die entsprechende zend_function zunächst anhand des Funktionsnamens aus der Tabelle gefunden. Bei einem Funktionsaufruf bestimmt die virtuelle Maschine die aufrufende Methode anhand des Typs. Verschiedene Funktionstypen haben unterschiedliche Ausführungsprinzipien.

【Empfohlene verwandte Tutorials】

1. "php.cn Dugu Jiujian (4) - PHP-Video-Tutorial

2 Eine vollständige Reihe von Video-Tutorials zur PHP-Programmierung vom Einstieg bis zur Beherrschung


3.

Praktische PHP-Video-Tutorials

Das obige ist der detaillierte Inhalt vonFunktionsweise benutzerdefinierter PHP-Funktionen und Einführung in die strukturierte Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!