Heim > Artikel > Backend-Entwicklung > Detaillierte Erklärung zur Verwendung der lib-Bibliothek in PHP7 basierend auf Funktionen
Dieser Artikel stellt hauptsächlich die Methode zur Verwendung der lib-Bibliothek basierend auf Funktionen in der PHP7-Erweiterungsentwicklung vor. Er analysiert die Kapselungs- und Aufruffähigkeiten der lib-Bibliothekserweiterung anhand von Beispielen kann jedem helfen.
Vorwort
Lassen Sie uns zunächst darüber sprechen, was eine Bibliothek ist. Eine lib-Bibliothek ist eine Datei, die bestimmte Funktionen bereitstellt. Es kann als eine Datei in PHP betrachtet werden, die einige Funktionsmethoden bereitstellt. Es ist nur so, dass diese Bibliothek in C oder C++ geschrieben ist.
Szenarien mit der Bibliothek lib. Einige Softwareprogramme stellen bereits lib-Bibliotheken bereit, sodass wir sie nicht erneut implementieren müssen. Beispielsweise ist die ursprüngliche MySQL-Erweiterung mithilfe der offiziellen MySQL-Lib-Bibliothek gekapselt.
In diesem Artikel werden wir eine einfache lib-Bibliothek erstellen und gekapselte Aufrufe in der Erweiterung durchführen.
Code
Basiscode
Diese Erweiterung werden wir . Bitte lesen Sie diesen Blogbeitrag für den Code zur Say-Erweiterung. PHP7-Erweiterungsentwicklung Hallo Wort In diesem Artikel wird ausführlich beschrieben, wie eine Erweiterung erstellt und der Quellcode heruntergeladen wird. call_lib_fun()
Code-Implementierung
Bibliothek erstellen
Hello.h-Datei hinzufügen. Der Code lautet wie folgt:#ifndef TEST_HEADER_FILE #define TEST_HEADER_FILE #include <stdlib.h> #include <string.h> char * show_site(); #endifHallo.c-Datei hinzufügen. Der Code lautet wie folgt:
#include "hello.h" char * show_site() { char *site = malloc(15 * sizeof(char)); strcpy(site, "www.bo56.com"); return site; }Verwenden Sie dann den folgenden Befehl, um die lib-Bibliotheksdatei (dynamische Bibliothek) zu generieren:
$ gcc -g -O0 -fPIC -shared -o hello.so ./hello.cDadurch wird eine dynamische Bibliotheksdatei hello.so im aktuellen Verzeichnis generiert. Die Erweiterungen dynamischer Bibliotheken in verschiedenen Betriebssystemen können unterschiedlich sein. Beispielsweise handelt es sich dabei um eine DLL unter Windows, eine Dylib unter Mac und so weiter unter Linux. Kopieren Sie dann
hello.so in das Verzeichnis /usr/local/lib/ und nennen Sie es hello.so
Kopieren hello.h in das Verzeichnis /usr/local/include/.
Ändern Sie die Datei config.m4
Erhöhen Sie die Abhängigkeit der Erweiterung von der dynamischen Bibliothek. Fügen Sie hauptsächlich die folgenden Codezeilen hinzu:PHP_ADD_LIBRARY_WITH_PATH(hello, /usr/local/lib/, SAY_SHARED_LIBADD) PHP_SUBST(SAY_SHARED_LIBADD)
Erweiterungscode schreiben
Verweis auf hinzufügen. hello.h
#include "php_say.h" #include <stdio.h> //下面这行是增加的 #include "hello.h"Methode
hinzugefügt. Der Code lautet wie folgt: show_site()
PHP_FUNCTION(show_site) { char *site = show_site(); RETVAL_STRING(site); free(site); return; }
php call result
<?php $result = show_site(); var_dump($result); ?>Ausführungsergebnis
$php ./test.php string(12) "www.bo56.com"
Code-Interpretation
PHP_ADD_LIBRARY_WITH_PATH wird verwendet, um den Namen, die Adresse und andere Informationen der Bibliothek anzugeben Bibliothek. Der erste Parameter ist der Name und der zweite Parameter ist die Adresse. Fügen Sie die Header-Datei der lib-Bibliothek zur Datei say.c hinzu. Verwenden Sie. #include "hello.h"
Umgang mit Cookies in Python (2) cookielib-Bibliothek
So verwenden Sie die pdflib-Bibliothek zum Lesen von PDF-Dateien Inhalt
Verwenden Sie die URL-Bibliothek von Python, um WEB-Formulare einzureichen
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung zur Verwendung der lib-Bibliothek in PHP7 basierend auf Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!