Überblick:
Als beliebte serverseitige Skriptsprache wird PHP in der Webentwicklung häufig verwendet. Die PHP -Erweiterung ist eine Technologie, die eng in die C/C ++ - Programmiersprache integriert ist, die PHP mit reichhaltiger Funktions- und Leistungsoptimierung liefern kann. In diesem Artikel wird vorgestellt, wie man die C ++-Entwicklung lernt und C ++ verwendet, um flexible und erweiterbare PHP7/8-Erweiterungen zu erstellen und ein eingehendes Verständnis der zugrunde liegenden Mechanismen von PHP zu erhalten und wie er mit C ++ interagiert.
Hier ist ein einfaches Beispiel, das zeigt, wie Sie eine einfache PHP -Erweiterung erstellen und der Erweiterung eine benutzerdefinierte Funktion hinzufügen. Um das Beispiel zu vereinfachen, erstellen wir eine einfache Erweiterung der mathematischen Berechnung, einschließlich zwei Funktionen: Addition und Multiplikation.
#enthalten<phpcpp.h> Php :: value add (php :: parameter params) { int a = params [0]; int b = params [1]; Return a + b; } Php :: value multiply (php :: parameter params) { int a = params [0]; int b = params [1]; Rückkehr a * b; } extern "c" { Phpcpp_export void *get_module () { statische Php :: Erweiterung ("math_extension", "1.0"); Erweiterung.Add<add> ("hinzufügen"); Erweiterung.Add<multiply> ("multiplizieren"); Rücklaufverlängerung; } }
Die Konfigurationsdatei heißt math_extension.ini, und der Inhalt lautet wie folgt:
Erweiterung = math_extension.so
$ g ++ -fpic -shared -o math_extension.so math_extension.cpp -i/path/to/php7/include/php -lphpcpp
Kopieren Sie die generierte math_extension.so -Datei in das Erweiterungsverzeichnis von PHP (der Standort des Erweiterungsverzeichnisses kann über die Phpinfo -Funktion erhalten werden).
<?php echo add(2, 3); // Ausgabe5 echo multiply(2, 3); // Ausgabe6 ?>
In diesem Beispiel erstellen wir ein Erweiterungsobjekt über die Php :: -Erweiterungsklasse und registrieren sich als PHP -Funktionsfunktion mit den beiden Funktionen hinzufügen und multiplizieren. Zum Kompilierungszeit müssen wir den Header-Dateipfad des PHP (-i-Option) und die PHPCPP-Bibliothek (-LPHPCPP) angeben. Kopieren Sie schließlich die generierte Erweiterungsdatei in das Erweiterungsverzeichnis von PHP und rufen Sie sie im PHP -Code auf.
Das Erlernen von C ++ - Entwicklung und Schaffung flexibler und skalierbarer PHP7/8 -Erweiterungen ist eine sehr wertvolle Fähigkeit. Durch das Lernen von C ++ und das Verständnis der Entwicklungsprinzipien von PHP -Erweiterungen können wir ein tieferes Verständnis der zugrunde liegenden Mechanismen von PHP erlangen und PHP -Anwendungen erweitern und optimieren, indem wir benutzerdefinierte Erweiterungen erstellen. Ich hoffe, die Beispiele und Schritte in diesem Artikel werden für Ihr Studium und Ihre Praxis hilfreich sein.