Pregunta

Estoy desarrollando mi propia biblioteca PHP y me gustaría llamar a los servicios web RESTful desde mi API. ¿Se puede hacer esto en PHP? De ser así, ¿cuáles son los principios básicos para hacerlo?

¿Fue útil?

Solución

Dado que REST es la aplicación de los mismos métodos del protocolo HTTP para el diseño de arquitecturas cliente-servidor y PHP ya es tan bueno para manejar solicitudes de protocolo HTTP como GET y POST. PHP es especialmente adecuado para facilitar el desarrollo de servicios REST.

Recuerde que REST es la aplicación de los mismos patrones http que ya existen.

Entonces, si actualmente tiene una aplicación que hace algo como:

  1. Formulario HTML
  2. Proceso PHP
  3. Salida HTML en una tabla

Entonces, para que sea DESCANSO, necesitarías:

  1. Aceptar parámetros de la web. Esto es fácil ya que recibirá los parámetros como get o post ... por lo que es básicamente el mismo.
  2. proceso PHP
  3. Salida en JSON o XML . ¡Y eso es todo!

    Es bastante fácil.

Ahora la parte difícil es hacer que su API (las funciones y URL) que generará sea amigable para el programador.

En ese caso, le sugiero que mire la API de flickr como ejemplo es muy desarrollador amigable, fácil de adivinar y tiene buena documentación.

Para obtener más información sobre las API, consulte esta presentación: Cómo diseñar una buena API & amp; Por qué es importante (Joshua Bloch)

Finalmente, una API RESTful debe implementar también los métodos PUT y DELETE del protocolo http cuando tenga sentido

Por ejemplo, si tuvo una acción de eliminación en su API, dicho servicio debería recibir el método de eliminación del protocolo http. En lugar de lo más común de enviar un parámetro de acción como parte de una solicitud de publicación.

Editar: Reemplazado & "; Php es resto por defecto" con '' Dado que REST es la aplicación de los mismos métodos del protocolo HTTP para el diseño de arquitecturas cliente-servidor y PHP ya es tan bueno para manejar solicitudes de protocolo HTTP como GET y POST. PHP es especialmente adecuado para facilitar el desarrollo de servicios REST. & Quot;

Y también agregó la nota final de que debe implementar los métodos PUT o DELETE apropiados cuando esa acción tenga sentido para su API.

Otros consejos

Es posible que desee ver este artículo y el seguimiento: http: //www.gen-x -design.com/archives/create-a-rest-api-with-php/

Su pregunta es muy abierta, por lo que este tutorial puede ser el mejor punto de partida.

El enlace de arriba ya no funciona, así que mira este tutorial:

http: // net. tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/

Desarrollé una clase que es el equivalente REST de la clase SoapServer nativa de PHP.

Simplemente incluye el archivo RestServer.php y luego úsalo de la siguiente manera.

class Hello
{
  public static function sayHello($name)
  {
    return "Hello, " . $name;
  }
}

$rest = new RestServer(Hello);
$rest->handle();

Entonces puedes hacer llamadas como esta:

http://myserver.com/path/to/api?method=sayHello&name=World

(Tenga en cuenta que no importa el orden en que se proporcionan los parámetros en la cadena de consulta. Además, los nombres de las claves de parámetros y el nombre del método no distinguen entre mayúsculas y minúsculas).

No puede hacer daño volver a la fuente original de el término REST , y asegúrese de comprender lo que eso significa.

Si está pensando en el lado del cliente, le sugiero que consulte el PEST de Matt Sukowski.

Encontrarás el repositorio en GitHub: https://github.com/educoder/pest

También revisa este hilo: Clientes PHP REST

Actualización 13/12/2013:
Este es en gran medida un proyecto de código abierto en vivo, Matt Sukowsky lo entregó a los nuevos cuidadores este verano porque no sentía que pudiera dedicar el tiempo suficiente, y desde entonces ha habido muchos compromisos. Entonces, Pest es mejor que nunca para hacer Rest in PHP :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top