Wie Sie das Datum von einem Web-Service Zurück

Ein einfacher Weg, um Ihre Füße nass mit Web-Services zu erhalten, ist ein Datum im JSON-Format zurückzukehren. Hier ist, wie Sie das tun können:

  1. Öffnen Sie Ihren Texteditor oder Programmierung IDE und erstellen Sie eine neue leere Datei.

  2. Platzieren Sie den folgenden Code in der Datei:

    lt; php $ header = "Content-Type: application / json"? -header ($ header) - $ date = date ( "M d, Y") - print json_encode ($ date) ->
  3. Speichern Sie die Datei als Date.php in Ihrem Dokument Wurzel.

  4. Zeigen Sie die Seite in Ihren Web-Browser auf http: //localhost/date.php.

    bild0.jpg

Das Format für diesen Web-Service liefert nur das Datum als Zeichenfolge in Anführungszeichen. Es ist häufiger eine Reihe von Daten mit jedem Element markiert zurückzukehren. Die Etiketten machen es leichter zu finden und einzelne Elemente verwenden. Betrachten wir zum Beispiel die folgende Auflistung:

lt; php $ header = "Content-Type: application / json"? -header ($ header) - $ date = date ( "M d, Y") - $ returnData = array ( "friendlyDate" => $ date) - Druck json_encode ($ returnData) ->

Wenn in einem Browser betrachtet, sieht die JSON-codierte Daten wie folgt aus:

image1.jpg

Wie Sie sehen können, gibt es jetzt mehr auf die zurückgegebenen Daten. Dies bedeutet, dass Sie alle Arten von Daten mit der gleichen Web-Service und die Verbraucher der Web-Service zurückkehren können, können sie werden, welche Stücke wählen verwenden. Zum Beispiel zeigt die bevorstehende Angebot eine erweiterte Datum Web-Service, die freundliche Datum zurückgibt, die Unix-Zeit, den Monat, den Tag der Woche, und das Jahr in verschiedenen Formaten.

Dieses Beispiel verwendet die PHP header () Funktion ein zu senden Inhaltstyp Header an den Browser. Das Inhaltstyp Header teilt dem Browser mit, welche Art von Informationen ist als Ausgang zu erwarten. Es ist wichtig für Browser, so dass sie die Informationen richtig analysieren kann.

lt; php $ header = "Content-Type: application / json"? -header ($ header) - friendlyDate $ = date ( "M d, Y") - $ unixtime = time () - $ month = date ( "M ") - $ dayOfWeek = date (" l ") - $ year = date (" Y ") - $ returnData = array (" friendlyDate "=> $ friendlyDate" Unixtime "=> $ Unixtime" monthNum "=> $ Monat "dayOfWeek" => $ dayOfWeek "yearNum" => $ year) -Druck json_encode ($ returnData) ->

Wenn in einem Browser betrachtet, gibt die Codedaten wie das gezeigt.

image2.jpg

Mit diesem arraylike Ausgang, ist es einfach, einzelne Elemente zuzugreifen. Angenommen, Sie haben eine Anwendung, die den Tag der Woche wissen muss. Sie können Ihren Web-Service und nutzen die integrierte in rufen json_decode () PHP-Funktion, um den Zugriff auf das bekommen Wochentag Element. Die folgende Auflistung zeigt Code, um einen Web-Service zu konsumieren.

lt; php $ curlHandle = curl_init ( "http: //localhost/date.php")? -curl_setopt ($ curlHandle, CURLOPT_HEADER, 0) -curl_setopt ($ curlHandle, CURLOPT_RETURNTRANSFER, 1) - $ output = curl_exec ($ curlHandle) - decodiert $ = json_decode ($ Ausgang, TRUE) -Druck decodiert $ [ 'dayOfWeek'] ->

Wenn diese Seite in einem Browser angezeigt wird, ist der Ausgang einfach den Tag der Woche. Der Code verwendet die cURL-Bibliothek, die durch eine Reihe von leistungsfähigen Funktionen in PHP verbindet mit Web-Seiten und Websites zu interagieren, einschließlich der Einreichung Formen. In diesem Fall initialisiert der Code die cURL-Objekt (durch curl_init ()), Enthält einige Optionen, und lädt dann die URL.

Der Ausgang wird in eine Variable gespeichert aufgerufen $ output, die dann dekodiert die Verwendung json_decode () Funktion. Die Boolesche WAHR dass Sie sehen in der json_decode () wird der Ausgang als ein Array, das ist das, was Sie wollen. Schließlich ist die Wochentag wird aus dem decodierten Ausgang und angezeigt auf den Bildschirm abgerufen.

Dieses Muster ist ziemlich typisch für Web-Service-Verbrauch. In der Tat ist es üblich, eine gemeinsame Funktion oder eine Klasse für cURL einzurichten, so dass Sie cURL Web-Services aufrufen können, ohne diese denselben Code enthalten, die in allen Ihren Dateien.

Also, was ist der Vorteil, ein Datum Web-Service-Aufruf, anstatt nur einfach der Aufruf Datum() Funktion? Das hängt davon ab. Einerseits könnte man argumentieren, dass eine gemeinsame Datumsfunktion einrichten, die alle Arten von Formaten zurückgibt, ist einfacher als zu versuchen, die genaue Formatierung für das zu erinnern, Datum() Funktion überall müssen Sie es.

Auf der anderen Seite könnte man sagen, dass eine Web-Service-Aufruf könnte die Gesamtreaktionszeit verlangsamen. Beide sind wahr und gültig.

Das Datum() Funktion wird in diesem Kapitel in erster Linie, weil es eine einfache Möglichkeit, Daten zu zeigen, von einem Webdienst zurückkehrt, ohne Ihr bescheidener Buchautoren, die zu viel zu erklären, was die Datum() Funktion tut.

Menü