Go ist eine von Google entwickelte zusammengestellte Sprache. Es hat die Merkmale von Effizienz, Einfachheit und Zuverlässigkeit und eignet sich besonders für die gleichzeitige und leistungsstarke Anwendungsentwicklung. Während des Entwicklungsprozesses können Sie auf Szenarien stoßen, in denen PHP- und GO -Dienste integriert werden müssen. Dieser Artikel konzentriert sich darauf, wie Sie Dienste, die von PHP geschrieben wurden, effizient aufrufen können.
Zunächst müssen wir einen GO -Service erstellen, der eine API -Schnittstelle für PHP anbietet. Hier ist ein einfaches Beispiel für den Go -Service:
Paket Main importieren ( "fmt" "net/http" ) func main () { http.handlefunc ("/api", Handleapi) http.listenandserve (": 8080", nil) } Func Handleapi (W http.Responsewriter, r *http.request) { fmt.fprintf (W, "Hallo von Go!") }
Der obige Code erstellt einen grundlegenden HTTP -Dienst, der auf den lokalen Port 8080 hört. Beim Zugriff auf den "/api` -Pfad" wird eine Nachricht "Hallo aus Go!" Zurückgegeben.
Beim Aufrufen von GO -Diensten in PHP können wir die "Curl` -Erweiterung von PHP" verwenden, um Netzwerkanforderungen zu erstellen. Stellen Sie sicher, dass die Erweiterung auf dem Server installiert und aktiviert ist.
Im Folgenden wird angezeigt, wie Sie eine GET -Anfrage über PHP einleiten, um auf den GO -Service zuzugreifen:
$ url = "http: // localhost: 8080/api"; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); $ response = curl_exec ($ ch); curl_close ($ ch); echo $ response;
In diesem Code wird eine Curl -Sitzung zuerst initialisiert und die Adresse des GO -Dienstes angegeben. Indem wir `curlopt_returntransfer` auf` true` einstellen, können wir den Antwortinhalt abrufen, anstatt ihn direkt an den Browser auszugeben. Verwenden Sie als Nächstes `curl_exec ()`, um die Anforderung zu initiieren und die Antwort zu erhalten.
Zusätzlich zu GET -Anfragen kann PHP auch Postanfragen einleiten und Daten an GO -Dienste senden. Hier ist ein Beispiel für die Verwendung von Curl, um eine Postanforderung zu initiieren:
$ url = "http: // localhost: 8080/api"; $ data = array ("name" => "John", "Alter" => 30); // data $ ch = curl_init ($ url) posten; curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_post, true); // auf die Anforderung curl_setopt ($ ch, curlopt_postfields, $ data) einstellen; // post data $ response = curl_exec ($ ch) festlegen; curl_close ($ ch); echo $ response;
In diesem Beispiel erstellen wir ein Datenarray `$ data` und verwenden` curl_setopt () `, um die Anforderung auf die Postmethode festzulegen, während die Postdaten angegeben werden. Andere Teile ähneln der Handhabungsmethode von GET -Anforderungen.
In diesem Artikel wird beschrieben, wie man einen Go-geschriebenen Dienst mit PHP aufruft. Wir haben zuerst einen einfachen GO -Service erstellt und demonstriert, wie man GET -und POST -Anfragen einleitet und die Antwort des GO -Dienstes über die "Curl` -Erweiterung von PHP" erhält. Dies bietet Entwicklern eine effiziente Möglichkeit, PHP zu integrieren und zu gehen, wodurch die Bequemlichkeit der Entwicklung verbessert wird.