FAST ZPP相应的宏方法可以查看官方网站 https://wiki.php.net/rfc/fast_zpp#proposal
返回值
方法的返回值是使用RETURN_ Code
Implementieren Sie die Methode default_value h2> default_value Methode Quellcode der PHP-Erweiterung: rrreee
Codebeschreibung
Parameter abrufen
In PHP7 gibt es zwei Methoden zum Abrufen von Parametern bereitgestellt. zend_parse_parameters und FAST ZPP-Modus.
zend_parse_parameters
Vor PHP7 wurde die Funktion zend_parse_parameters verwendet, um Parameter zu erhalten. Die Funktion dieser Funktion besteht darin, die eingehenden Parameter in die entsprechenden Typen im PHP-Kernel umzuwandeln, damit sie in PHP-Erweiterungen verwendet werden können. Parameterbeschreibung: Der erste Parameter, die Anzahl der Parameter. Im Allgemeinen verwenden Sie einfach ZEND_NUM_ARGS(), keine Änderung erforderlich. Der zweite Parameter ist die Formatzeichenfolge. Die Funktion dieser Formatzeichenfolge besteht darin, die Konvertierungsbeziehung zwischen den eingehenden Parametern und dem PHP-Kerntyp anzugeben.
Die Bedeutung von S|z im Code ist: S bedeutet, dass der Parameter eine Zeichenfolge ist. Konvertieren Sie die eingehenden Parameter in den Typ zend_string.
|. bedeutet, dass die folgenden Parameter optional sind. Es kann weitergegeben werden oder nicht. 🎜z gibt an, dass es sich bei den Parametern um mehrere Typen handelt. Konvertieren Sie die eingehenden Parameter in den ZVAL-Typ. 🎜🎜Darüber hinaus gibt es einige Spezifizierer, die Aufmerksamkeit erfordern: 🎜! Wenn eine Nullvariable in der PHP-Sprache empfangen wird, wird sie direkt in NULL in der C-Sprache konvertiert, anstatt sie in ein zval vom Typ IS_NULL zu kapseln. 🎜/ Wenn die übergebene Variable einen Zval mit anderen Variablen teilt und keine Referenz ist, wird eine erzwungene Trennung durchgeführt. Der neue Zval ist_ref__gc==0 und refcount__gc==1.🎜🎜Weitere Bedeutungen formatierter Zeichenfolgen finden Sie im offiziellen Webseite. https://wiki.php.net/rfc/fast_zpp🎜
FAST ZPP
🎜Neue Methode in PHP7 bereitgestellt. Es dient dazu, die Leistung der Parameteranalyse zu verbessern. Für häufig verwendete Methoden empfiehlt sich die Verwendung der FAST ZPP-Methode. 🎜So verwenden Sie: 🎜Beginnen Sie mit ZEND_PARSE_PARAMETERS_START(1, 2). 🎜Der erste Parameter gibt die Anzahl der Parameter an, die übergeben werden müssen, und der zweite Parameter gibt die maximale Anzahl der Parameter an, die übergeben werden können. 🎜Ende mit ZEND_PARSE_PARAMETERS_END();. 🎜Die Mitte ist das Parsen der eingehenden Parameter. 🎜Es ist erwähnenswert, dass die Makromethode von FAST ZPP im Allgemeinen eins zu eins dem Spezifizierer von zend_parse_parameters entspricht. Zum Beispiel: 🎜Z_PARAM_OPTIONAL entspricht |🎜Z_PARAM_STR entspricht S🎜Die Methode Z_PARAM_ZVAL_EX ist jedoch etwas Besonderes. Es entspricht zwei Spezifizierern, nämlich ! und /. ! Entspricht dem zweiten Parameter der Makromethode. / entspricht dem dritten Parameter der Makromethode. Wenn Sie es aktivieren möchten, setzen Sie es einfach auf 1. 🎜🎜Die entsprechende Makromethode von FAST ZPP kann auf der offiziellen Website https://wiki.php.net/rfc/fast_zpp#proposal eingesehen werden🎜
Rückgabewert
🎜Der Rückgabewert der Methode ist to Verwenden Sie RETURN_Die Makromethode, die mit code> beginnt, gibt zurück. Häufig verwendete Makromethoden sind: 🎜RETURN_NULL() Gibt null zurück🎜RETURN_LONG(l) Gibt den Ganzzahltyp zurück🎜RETURN_DOUBLE(d) Gibt den Gleitkommatyp zurück🎜RETURN_STR(s) Gibt einen String zurück. Der Parameter ist ein zend_string * Zeiger 🎜RETURN_STRING(s) Gibt einen String zurück. Der Parameter ist ein char * Zeiger 🎜RETURN_STRINGL(s, l) gibt einen String zurück. Der zweite Parameter ist die Stringlänge. 🎜RETURN_EMPTY_STRING() Gibt eine leere Zeichenfolge zurück. 🎜RETURN_ARR(r) Gibt ein Array zurück. Parameter sind zend_array*-Zeiger. 🎜RETURN_OBJ(r) gibt ein Objekt zurück. Parameter sind zend_object*-Zeiger. 🎜RETURN_ZVAL(zv, copy, dtor) gibt einen beliebigen Typ zurück. Parameter sind zval*-Zeiger. 🎜RETURN_FALSE Gibt „false“ zurück🎜RETURN_TRUE Gibt „true“ zurück🎜🎜
Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung des Rückgabewerts der PHP7-Erweiterungsentwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
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
So installieren Sie die Mongo-Erweiterung in PHP7.0: 1. Erstellen Sie die Mongodb-Benutzergruppe und den Mongodb-Benutzer. 2. Laden Sie das Mongodb-Quellcodepaket herunter und platzieren Sie das Quellcodepaket im Verzeichnis „/usr/local/src/“. Geben Sie das Verzeichnis „src/“ ein. 4. Entpacken Sie das Quellcodepaket. 6. Kopieren Sie die Dateien in das Verzeichnis „mongodb/“.
So beheben Sie das Problem, dass das Plugin in PHP 7.0 nicht installiert ist: Überprüfen Sie die Plugin-Konfiguration und aktivieren Sie das Plugin. Starten Sie PHP neu, um die Konfigurationsänderungen zu übernehmen. Überprüfen Sie die Berechtigungen der Plugin-Datei, um sicherzustellen, dass sie korrekt sind. Installieren Sie fehlende Abhängigkeiten, um sicherzustellen, dass das Plugin ordnungsgemäß funktioniert. Wenn alle anderen Schritte fehlschlagen, erstellen Sie PHP neu. Weitere mögliche Ursachen sind inkompatible Plugin-Versionen, das Laden der falschen Version oder PHP-Konfigurationsprobleme.
In PHP5 können wir die Funktion fsockopen() verwenden, um den TCP-Port zu erkennen. Mit dieser Funktion können Sie eine Netzwerkverbindung herstellen und eine Netzwerkkommunikation durchführen. In PHP7 kann die Funktion fsockopen() jedoch auf einige Probleme stoßen, z. B. dass der Port nicht geöffnet werden kann, keine Verbindung zum Server hergestellt werden kann usw. Um dieses Problem zu lösen, können wir die Funktionen socket_create() und socket_connect() verwenden, um den TCP-Port zu erkennen.
Zu den gängigen Lösungen für PHP-Serverumgebungen gehört die Sicherstellung, dass die richtige PHP-Version installiert ist und relevante Dateien in das Modulverzeichnis kopiert wurden. Deaktivieren Sie SELinux vorübergehend oder dauerhaft. Überprüfen und konfigurieren Sie PHP.ini, um sicherzustellen, dass die erforderlichen Erweiterungen hinzugefügt und korrekt eingerichtet wurden. Starten oder starten Sie den PHP-FPM-Dienst neu. Überprüfen Sie die DNS-Einstellungen auf Auflösungsprobleme.
So installieren und implementieren Sie PHP7.0: 1. Gehen Sie zur offiziellen PHP-Website, um die dem lokalen System entsprechende Installationsversion herunterzuladen. 2. Extrahieren Sie die heruntergeladene ZIP-Datei in das angegebene Verzeichnis. 3. Öffnen Sie das Befehlszeilenfenster und gehen Sie zu das Verzeichnis „E:\php7“ Führen Sie einfach den Befehl „php -v“ aus.
So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...
Ursachen und Lösungen für Fehler Bei der Verwendung von PECL zur Installation von Erweiterungen in der Docker -Umgebung, wenn die Docker -Umgebung verwendet wird, begegnen wir häufig auf einige Kopfschmerzen ...
Im Vergleich zu PHP7 bietet PHP8 einige Vorteile und Verbesserungen in Bezug auf Leistung, neue Funktionen und Syntaxverbesserungen, Typsystem, Fehlerbehandlung und Erweiterungen. Die Wahl der zu verwendenden Version hängt jedoch von Ihren spezifischen Anforderungen und Projektumständen ab. Detaillierte Einführung: 1. Leistungsverbesserung: PHP8 führt den Just-in-Time-Compiler (JIT) ein, der die Ausführungsgeschwindigkeit des Codes verbessern kann. 2. Neue Funktionen und Syntaxverbesserungen. PHP8 unterstützt die Deklaration benannter Parameter und optionaler Parameter. Durch die flexiblere Gestaltung von Funktionen werden anonyme Klassen, Typdeklarationen von Eigenschaften usw. eingeführt.