Comment retourner la date à partir d'un service Web

Une façon simple d'obtenir vos pieds humides avec les services Web est de retourner une date au format JSON. Voici comment vous pouvez le faire:

  1. Ouvrez votre éditeur de texte ou IDE de programmation et de créer un nouveau fichier vide.

  2. Placez le code suivant dans le fichier:

    lt; php $ header = "Content-Type: application / json"? -header ($ header) - $ Date = date ("M d, Y") - impression json_encode ($ date) ->
  3. Enregistrez le fichier sous date.php dans votre document root.

  4. Voir la page dans votre navigateur Web à l'adresse http: //localhost/date.php.

    image0.jpg

Le format de ce service Web retourne juste la date comme une chaîne entre guillemets. Il est plus fréquent de renvoyer un tableau de données avec chaque élément marqué. Les étiquettes facilitent la recherche et l'utilisation des éléments individuels. Par exemple, considérez la liste suivante:




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

Lorsqu'on regarde dans un navigateur, les données JSON codée ressemble à ceci:

image1.jpg

Comme vous pouvez le voir, il ya maintenant plus aux données renvoyées. Cela signifie que vous pouvez retourner toutes sortes de données avec le même service Web et les consommateurs du service Web peut choisir les morceaux qu'ils vont utiliser. Par exemple, la prochaine fiche montre un service web de date amélioré qui renvoie la date convivial, le temps Unix, le mois, le jour de la semaine et l'année dans différents formats.

Cet exemple utilise le PHP entête() fonction pour envoyer un Content-Type tête pour le navigateur. La Content-Type -tête indique au navigateur quel type d'information est à prévoir que la production. Il est important pour les navigateurs afin qu'ils puissent analyser correctement les informations.

lt; php $ header = "Content-Type: application / json"? -header ($ header) - $ friendlyDate = date ("M d, Y") - $ unixtime = temps () - $ par mois = date ("M ") - $ dayOfWeek = date (" l ") - $ l'an = date (" Y ") - $ returnData = array (" friendlyDate "=> $ friendlyDate," unixtime "=> $ unixtime," monthNum "=> $ mois, "dayOfWeek" => $ dayOfWeek, => $ "yearNum" année) -print json_encode ($ returnData) ->

Lorsqu'on regarde dans un navigateur, le code renvoie les données comme celle représentée.

image2.jpg

Avec cette sortie de arraylike, il est facile d'accéder aux éléments individuels. Disons que vous avez une application qui a besoin de connaître le jour de la semaine. Vous pouvez appeler votre service Web et utiliser le haut- json_decode () PHP fonction pour obtenir l'accès à la jour de la semaine élément. La liste suivante montre le code de consommer un service Web.

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

Lorsque cette page est affichée dans un navigateur, la sortie est tout simplement le jour de la semaine. Le code utilise la bibliothèque cURL, qui relie dans PHP à travers un ensemble de fonctions puissantes d'interagir avec des pages et des sites Web, y compris les formulaires soumettent. Dans ce cas, le code initialise l'objet cURL (par le biais curl_init ()), Fixe certaines options, et puis charge l'URL.

La sortie est enregistrée dans une variable appelée $ output, qui est ensuite décodé en utilisant le json_decode () fonction. Le booléenne VRAI que vous voyez dans le json_decode () fonction définit la sortie comme un tableau, qui est ce que vous voulez. Enfin, la jour de la semaine est récupéré à partir de la sortie décodée et affichée à l'écran.

Ce modèle est assez typique de la consommation de services Web. En fait, il est fréquent de mettre en place une fonction partagée ou une classe pour cURL de sorte que vous pouvez appeler des services Web cURL sans avoir à inclure ce même code dans tous vos fichiers.

Alors, quel est l'avantage d'appeler un service web date de lieu de simplement appeler le Date () fonctionner? Ça dépend. D'une part, on pourrait dire que la création d'une fonction de date commune qui renvoie toutes sortes de formats est plus facile que d'essayer de se rappeler la mise en forme exacte de la Date () fonction partout vous en avez besoin.

D'autre part, vous pourriez dire que l'appel d'un service Web peut ralentir le temps de réponse global. Les deux sont vrais et valables.

La Date () fonction est utilisée dans ce chapitre, principalement parce qu'il fournit un moyen facile de démontrer renvoyer des données à partir d'un service Web, sans vos auteurs de livres humbles avoir à expliquer trop de ce que la Date () fonction est en train de faire.


» » » » Comment retourner la date à partir d'un service Web