Clases PHP para enviar y recibir REST

Son unas clases PHP para crear un servidor y un cliente REST sin usar la biblioteca CURL.

Clases PHP para enviar y recibir REST

Introducción

  1. El cliente realiza una petición a un servidor.
  2. El servidor recibe la petición y manda una respuesta al cliente.
  3. El cliente finalmente recibe la respueta del servidor.

Índice

  • Clase RestClient
  • Clase RestServer
  • Clases de la carpeta network
  • Clases para datos con formato
  • Pruebas
  • Enlaces

Clase "RestClient"

Envía una petición al servidor y recibe su respuesta

1) Constructor

Método Descripción
__construct(Format) Establece el formato.
Instancia ClientRequest y ClientResponse

2) Construye la petición

Método Descripción
setServer Dirección URL del servidor
setUri Parámetros por URI "/uno/dos/..."
setQuery
setQueryString
Parámetros por GET "?name=value&..."
setMethod Método: GET, POST, PUT, DELETE, ...
setMime Tipo de formato en el mensaje
setContent
setData
Contenido del mensaje

3) Envío la petición

Método Descripción
send():ClientResponse Envía la petición al servidor

4) Obtiene la respuesta

Método Descripción
getCode El código HTTP: 200, 404, ...
getMime El tipo MIME de la respuesta
getContent
getData
El mensaje de respuesta

Clases hijas

  • RestClientJSON
  • RestClientXML

Clase "RestServer"

Recibe la petición del cliente y da una respuesta

1) Constructor

Método Descripción
__construct Instancia ServerRequest y ServerResponse

2) Recibe la petición

Método Descripción
getRequest Clase ServerRequest
getUri Datos por URI "/uno/dos/..."
getQuery
getQueryString
Datos por GET "?name=value&..."
getMime Tipo MIME del mensaje
getMethod Método: GET, POST, PUT, DELETE, ...
getContent
getData
Contenido del mensaje

3) Construye la respuesta

Método Descripción
setResponse Clase ServerResponse
setCode Código HTTP: 200, 404, ...
setMime Formato del mensaje
setContent
setData
Establece el mensaje de respuesta

4) Envía la respuesta

Método Descripción
send Respuesta al cliente

Clases de la carpeta network

De uso general

Clase Descripción
Constants Constantes de METHODS, MIMES y CODES
Header Tratamiento de las líneas de una cabecera HTTP
URL Normaliza una dirección URL

Petición del cliente al servidor

Clase Descripción
Request Clase base que almacena los datos de una petición
ClientRequest Agrega el método getURL a la clase Request
ServerRequest Recupera la petición a partir de $_SERVER y php://input

Respuesta del servidor al cliente

Clase Descripción
Response Clase base que almacena los datos de una respuesta
ClientResponse Hereda de Response
ServerResponse Hereda de Response

Clases para datos con formato JSON, XML, etc.

Clase "format/Data"

Almacena datos en el formato especificado

Método1 Método2 Descripción
getFormat setFormat Formato de datos con la clase Format
getData setData Datos en crudo almacenados en array
getText setText Datos string codificados según el formato
encode decode Implementación de la clase Format

Clase abstracta "format/Format"

Método Descripción
mime():string Retorna el tipo MIME
header Escribe el encabezado de respuesta
encode(array):string Codifica al formato
decode(string):array Decodifica el formato

Clases hijas (mime):

  • FormatJSON — application/json
  • FormatXML — application/xml
  • FormatURL — application/x-www-form-urlencoded
  • FormatText — text/plain
  • FormatHTML — text/html
  • FormatYAML — text/x-yaml

Pruebas

Con formulario

Tests


Enlaces

Qué es una REST API

Comentarios

Proinf.net, ©2003-2019 ci 3.1.9 (CC) Esta obra está bajo una licencia de Creative Commons Este software está sujeto a la CC-GNU GPL