Download the PHP package alberto-leon-crespo/rest-entity-manager without Composer

On this page you can find all versions of the php package alberto-leon-crespo/rest-entity-manager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package rest-entity-manager

Rest Entity Manager

Un gestor de entidades rest orientado al mapeo de datos con webservices. El principal problema que te encuentras cuando usas librerias orientadas a crear un WebService es que todas están planteadas para flujos estandar en los que conectas directamente con tu BBDD. Muchas APIS modernas basadas en la web, funcionan de intermediarias con otras APIS corporativas y no corporativas. Asi surgio "Rest Entity Manager".

Funcionamiento basico de la libreria

Esta libreria consta de dos serializadores estandar. El primero gestiona la transformación de datos entre las entidades y los diferentes servicios rest. El segundo serializador se usa para codificar y decodificar los contenidos que envian y reciben los clientes y asi popular las entidades de tu API.

Internamente el gestor de entidades lee la configuración de las diferentes conexiones y realiza las peticiones a los diferentes webservices.

Servicios

Consideraciones previas

Este es un bundle pensado para funcionar junto con "FOSRestBundle", pero tambien se puede usar sin el.

Instalación

Paso 1: Descargar el bundle

Abre la consola de comandos, entra en el directorio de tu proyecto y ejecuta el siguiente comando para descargar la ultima version estable de este bundle.

$ composer require alberto-leon-crespo/rest-entity-manager

Paso 2: Activar el bundle

Activa el bundle añadiendo la siguiente linea al fichero app/AppKernel.php

Configuracion

Para poder usar las entidadedes orientadas a rest es necesario configurar previamente una conexion rest.

Si quieres usar el serializador junto con FOSRestBundle es necesario que sobreescribas el serializador estandar con la siguiente configuración.

Anotaciones de configuración para las entidades.

Acciones generales del manager rest

Buscar por id

Equivalente a GET /users/:id

Recuperar todos los registros de un listado

Equivalente a GET /users

Recuperar un listado filtrado

Equivalente a GET /users?nombre=Alberto

Recuperar el primer registro de un listado filtrado

Equivalente a GET /users?nombre=Alberto

Guardar los cambios

Equivalente a POST /users o PUT /users

Si el objeto de entidad tiene un valor asociado en el campo marcado como id, realizara un PUT, en caso contrario realizara un POST

Comprobar si existe un registro, si existe lo actualiza, en caso contrario lo crea.

Equivalente a POST /users o PUT /users

Si el objeto de entidad tiene un valor asociado en el campo marcado como id y ademas ese id existe, realizara un PUT, en caso contrario realizara un POST

Obtener la información de una entidad con los valores actualizados del webservice

Acciones personalizadas del manager rest

Cuando por diferentes circustancias cualquiera de estas acciones estandar no funcional para tu caso de uso, puedes realizar una llamada totalmente personalizada por medio de un repositorio o realizando la acción directamente en el controlador como si se tratara de un cliente rest normal.

Con un repositorio

Es importante definir la anotacion "Repository" en la entidad rest.

Opciones avanzadas de filtrado

En ocasiones, los parametros que pasamos a la URL no son parametros de filtrado (ordenacion, paginado, etc..).

Para ello solo hay que indicar que parametros seran ignorados del filtrado y cual es su equivalencia en el WS de destino.

Equivalencia directa

En este caso la equivalencia con el WS de destino es directa entre el campo de origen y de destino

De esta manera si la URL introducida en tu WS es {{URL_BASE}}/usuarios?page=1&limit=5 se solicitaria de la siguiente manera al WS de destino {{URL_BASE}}/users?_page=1&_limit=5

Equivalencia indirecta

Puedes encontrar algunos casos en los que la equivalencia con un parametro especial de destino, no es directa, es decir, un parametro puede equivaler a dos como en el siguiente ejemplo:

Origen Destino
sort=+id _sort=id&order=asc

En estos casos puedes crear un interceptor de parametros de la siguiente manera:

Para darlo de alta solo tienes que dar de alta la siguiente configuración en la sección "parameters_map":

Interceptores de eventos

Si fuera necesario interceptar un evento de la petición para injectar el token de una api en las cabeceras o alguna otra acción similar, solo tienes que crear un interceptor de solicitudes de la siguiente manera:

Una vez creado el interceptor, debes de darlo de alta con la siguiente configuración:

Debes de indicar que evento quieres interceptar y la clase y el metodo que interceptaran la solicitud.

Los eventos soportados que se pueden interceptar son los mismos que acepta Guzzle Http Client.

Ejemplos

Para ver mas ejemplos puedes consultar el bundle de ejemplo ALC\WebServiceBundle


All versions of rest-entity-manager with dependencies

PHP Build Version
Package Version
Requires php Version >=5.4
doctrine/doctrine-bundle Version ^1.6
doctrine/orm Version ^2.5
friendsofsymfony/rest-bundle Version ^2.3
guzzlehttp/guzzle Version ~5.3
jms/serializer-bundle Version ^2.3
voku/arrayy Version 3.8
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package alberto-leon-crespo/rest-entity-manager contains the following files

Loading the files please wait ....