Básicamente, ¿Qué es una API?
Si comprende cómo van los datos de un formulario HTML a un código php, confíe en mí, ya sabe todo acerca de las API. Aquí en lugar de hablar de formas, hablamos de las URL que se crean al final por esas formas ...
¿Cuáles son los tipos de API?
Existen dos tipos de API muy utilizadas para servicios web: SOAP y REST. Google es uno de los principales jugadores con una API basada en SOAP, mientras que Yahoo (y la mayoría de sus adquisiciones recientes) han adoptado el enfoque REST. En la mayoría de los casos, un servicio "Web 2.0" con el que te encuentres hoy probablemente use REST.
Cómo crear una API REST en PHP con la clave de autenticación para eliminar un valor de la base de datos?
Digamos que tenemos una clase PHP (manage.php) que nos ayuda a gestionar entradas en una base de datos:
class manage { private $entryId; function __construct($entryId) {
$this->entryId = $entryId;
} function deleteEntry() {
//delete $this->entryId from database
}}
En nuestro propio servidor, podríamos tener acceso a esta funcionalidad, así:
require_once('manage.php');
$m = new manage(23);
$m->deleteEntry();
Lo suficientemente fácil para nosotros, pero ¿cómo permitimos que alguien que no está en nuestro servidor acceda a la misma funcionalidad? Para eso, crearemos un tercer archivo para actuar como un búfer (o "interfaz") entre otros desarrolladores y nuestra clase. He aquí un ejemplo de un archivo que podríamos crear para permitir a los desarrolladores acceder a la función de borrado de nuestra clase, vamos a situarlo al 'api/delete.php'
require_once('manage.php');
if(hasPermission($_POST['api_key']) {
$m = new manage($_POST['entry_id']);
$m->deleteEntry();
}
Esto permitirá a los usuarios enviar una solicitud POST a nosotros en http://example.com/api/delete.php con una api_key y un entry_id. Notarás que la función es muy similar a la que escribimos en nuestro propio servidor, excepto que verificamos la variable POST api_key usando una función para ver si está autorizada para acceder a la base de datos. No incluimos esa función aquí (tienePermission) por simplicidad. Además de lo que se muestra, también deberá encontrar la cuenta del usuario basada en api_key, realizar una comprobación de errores y (si desea crear una buena API) proporcionar una respuesta correcta de éxito o error después de la solicitud. Entraremos en las respuestas de éxito y error en un momento.
Cómo diseñar una buena API y por qué es importante?
Supongo que este video de Google puede explicar mucho mejor que yo ... http://youtu.be/aAb7hSCtvGw ..
Referencias:
http://en.wikipedia.org/wiki/Representational_state_transfer
http://en.wikipedia.org/wiki/SOAP
http://particletree.com/features/how-to-add-an-api-to-your-web-service/
http://www.webresourcesdepot.com/how-to-create-an-api-10-tutorials/
Google Search Result
Nota: La respuesta es la compilación de todas las referencias !!.
@TillHelgeHelwig: Esa es una pregunta completamente diferente ... En realidad, la pregunta tiene un título engañoso ... – codersofthedark