Cómo devolver la fecha a partir de un servicio web

Una forma sencilla de conseguir sus pies mojados con los servicios web es devolver una fecha en formato JSON. He aquí cómo usted puede hacer lo siguiente:

  1. Abra su editor de texto o IDE de programación y crear un nuevo archivo vacío.

  2. Coloque el siguiente código en el archivo:

    lt; php $ cabecera = "Content-Type: application / json"?? -header ($ header) - $ fecha = date ("M d, Y") - json_encode print ($ fecha) ->
  3. Guarde el archivo como date.php en la raíz del documento.

  4. Ver la página en su navegador web en http: //localhost/date.php.

    imagen0.jpg

El formato de este servicio web sólo devuelve la fecha como una cadena entre comillas. Es más común para devolver una matriz de datos con cada elemento marcado. Las etiquetas hacen que sea más fácil encontrar y utilizar elementos individuales. Por ejemplo, considere el siguiente anuncio:

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

Cuando se ve en un navegador, los datos JSON-codificada se ve así:

image1.jpg

Como se puede ver, hay ahora más a los datos devueltos. Esto significa que usted puede volver todo tipo de datos con el mismo servicio web y los consumidores del servicio web puede elegir qué piezas que vamos a usar. Por ejemplo, el próximo listado muestra un mayor servicio web que devuelve la fecha de la fecha de usar, el tiempo de Unix, el mes, el día de la semana y el año en varios formatos.

Este ejemplo utiliza el PHP header () función para enviar una Tipo de contenido cabecera al navegador. los Tipo de contenido cabecera le dice al navegador qué tipo de información es de esperar como salida. Es importante para los navegadores para que puedan analizar la información correctamente.

lt; php $ cabecera = "Content-Type: application / json"? -header ($ header) - $ friendlyDate = date ("M d, Y") - $ unixtime = time () - $ mes = date ("M ") - $ díadelasemana = date (" l ") - $ años = date (" Y ") - $ returnData = array (" friendlyDate "=> $ friendlyDate" unixtime "=> $ unixtime" monthNum "=> $ mes "díadelasemana" => $ díadelasemana "yearNum" => $ años) -print json_encode ($ returnData) ->

Cuando se ve en un navegador, el código devuelve datos como la que se muestra.

image2.jpg

Con esa salida arraylike, es fácil acceder a elementos individuales. Digamos que tienes una aplicación que necesita saber el día de la semana. Usted puede llamar a su servicio web y utilizar el built-in json_decode () PHP funcione para conseguir el acceso a la día de la semana elemento. La siguiente lista muestra el código para consumir un servicio web.

lt; php $ curlHandle = curl_init ("http: //localhost/date.php")? -curl_setopt ($ curlHandle, CURLOPT_HEADER, 0) -curl_setopt ($ curlHandle, CURLOPT_RETURNTRANSFER, 1) - $ salida = curl_exec ($ curlHandle) - $ decodificado = json_decode ($ salida, TRUE) -print $ decodificados ['díadelasemana'] ->

Cuando esta página se ve en un navegador, la salida es simplemente el día de la semana. El código utiliza la biblioteca cURL, que conecta con PHP a través de un conjunto de funciones de gran alcance para interactuar con páginas y sitios web, incluyendo formas que presentan. En este caso, el código inicializa el objeto cURL (a través curl_init ()), Establece algunas opciones, y luego carga el URL.

La salida se guarda en una variable llamada $ salida, que luego es decodificada utilizando la json_decode () función. El booleana CIERTO que se ve dentro de la json_decode () función establece la salida como una matriz, que es lo que quieres. Por último, la día de la semana se recupera de la salida decodificada y se muestran en la pantalla.

Este patrón es bastante típico de consumo de servicios web. De hecho, es común para establecer una función compartida o una clase para cURL para que pueda llamar a los servicios web CURL sin tener que incluir este mismo código en todos sus archivos.

Entonces, ¿cuál es la ventaja de llamar a un servicio web en lugar de la fecha simplemente llamando al fecha() función? Eso depende. Por un lado, se podría argumentar que la creación de una función de fecha común que devuelve todo tipo de formatos es más fácil que tratar de recordar el formato exacto para el fecha() la función de todo el mundo que lo necesite.

Por otro lado, se podría decir que llamar a un servicio web puede ralentizar el tiempo de respuesta global. Ambos son verdaderos y válidos.

los fecha() función se utiliza en este capítulo, principalmente debido a que proporciona una manera fácil de demostrar devolver datos de un servicio web, sin que sus autores de libros humildes tener que explicar demasiado por lo que el fecha() función está haciendo.




» » » » Cómo devolver la fecha a partir de un servicio web