Cómo crear API de sitio web

Tengo una gran cantidad de clientes que me preguntan acerca de cómo hacer que las aplicaciones móviles que se conectan a sus sitios web para recuperar datos, permitir a los usuarios de inicio de sesión, etc La mayoría de ellos tienen sitios basados ​​en PHP, pero no tienen ni idea de hacer APIs para la interfaz con ellos. Me preguntan por qué no puedo conectarme directamente a sus bases de datos SQL. No creo que sea una buena cosa hacer desde una aplicación para móviles. Preferiría que tengan algún tipo de API en su lugar.

En cuanto a los sitios basados ​​en PHP, ¿cuáles son las mejores opciones cuando se trata de implementar una API para este propósito?

Desea consultar los servicios web RESTful . Echa un vistazo a la wiki para esto aquí . La necesidad de su cliente es esencialmente construir aplicaciones PHP que sirven los datos subyacentes de sus sitios web a través de algunos tipos de datos compatibles con REST, por ejemplo , JSON, XML, SOAP , etc. Hay una serie de funciones PHP incorporadas que permiten la rápida conversión de datos PHP Estructuras en estos formatos. Esto le permitiría crear aplicaciones móviles que realizan solicitudes HTTP para obtener datos que luego pueden mostrar en su propia forma única.

Un ejemplo para un servicio con JSON podría ser el siguiente:

 $action = $_GET['action']; switch($action) { case 'get-newest-products': echo json_encode(getNewestProducts()); break; case 'get-best-products': echo json_encode(getBestProducts()); break; . . . default: echo json_encode(array()); break; } function getNewestProducts($limit = 10) { $rs = mysql_query("SELECT * FROM products ORDER BY created DESC LIMIT $limit"); $products = array(); if (mysql_num_rows($rs) > 0) { while ($obj = mysql_fetch_object($rs)) { $products[] $obj; } } return $products; } function getBestProducts($limit = 10) { $rs = mysql_query("SELECT * FROM products ORDER BY likes DESC LIMIT $limit"); $products = array(); if (mysql_num_rows($rs) > 0) { while ($obj = mysql_fetch_object($rs)) { $products[] $obj; } } return $products; } 

Puede consultar la API de la siguiente manera (con mod_rewrite en) http://myapi.mywebsite.com/get-newest-products

Basta con crear un subdominio de api con un único controlador y un método para cada tarea específica: genera los datos en json y está configurado:

 http://api.theirsite.com/get-users http://api.theirsite.com/get-news 

Etc …

REST es una muy buena forma de estructurar recursos para la recuperación. La creación de una API REST es una forma muy útil de definir el conjunto de operaciones que se pueden realizar en sus datos, manteniendo una capa relativamente fina de abstracción entre la API y los datos de la base de datos. Dicho esto, no es exactamente trivial, pero obliga a considerar los usos y las preocupaciones de seguridad, y es muy extensible y al futuro.

Bueno, he visto un montón de sitios web en Drupal, Joomla o WordPress. Si ese es el caso, los que tienen un módulo de API que puede habilitar y luego construir una aplicación de Android con esos.

Nos enfrentamos a este problema a menudo que introdujimos un servlet simple de Java usando XQUERY como capa entre nuestro propio formato y el sitio de destino, almacenado principalmente en bases de datos. Convierte los datos en JSON a través de los servicios REST. Eso nos podría hacer flexibles y rápidos para cada nuevo sistema como Joomla, WordPress, etc … Funciona desde hace muchos años para nosotros. La adaptación de un nuevo sistema duró al día. Puede utilizar Stylus-Enterprise para diseñar los archivos Xquery con una interfaz de usuario. Si quieres seguir con PHP, Luracast Restler hace un buen trabajo, de hecho.

Utilice Php Slim Micro Framework para crear REST APi. Es muy fácil de configurar y escribir el código.

Gracias

En lugar de las aplicaciones sugieren que utilicen su sitio móvil y un contenedor sólo para abrir un navegador y redirigirlos al sitio para móviles.

  • Diferencia entre los conceptos
  • Subir imagen de la aplicación PhoneGap Cordova
  • ¿Cómo puedo hacer que una aplicación de Android se comunique con un servidor web a través de Internet?
  • ¿Hay alguna manera de escribir aplicaciones de Android en PHP?
  • Enviar datos de android a servidor a través de JSON
  • Android - Mantener usuario conectado
  • Cómo obtener la clasificación de la aplicación de Google PlayStore
  • Convierta un sitio web con un diseño de respuesta a la aplicación de Android
  • Especificación de parámetros en la aplicación REST API GET
  • Sincronizar las bases de datos sqlite con mysql
  • comparar java epoch cadena con php epoch fecha
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.