Me toco diseñar una API REST con PHP y la verdad me da vergüenza decir que trabaje, porque es sumamente fácil,lo primero hacemos nuestra función PHP, para el ejemplo un listado de paises:
$db = new DB(); //Con este objeto me conecto a la base
$db->conectar();
$sql = 'SELECT * FROM `paises` ORDER BY `nombre`'; //Listo los paises por ejemplo
$consulta = $db->query($sql);
while ($fila = mysql_fetch_array($consulta)) {
$paises[] = $fila;
}
$data["paises"] = $paises;
echo json_encode($data); // lo imprimo formato json.
Y listo, claro que no es rest puro pero es util para publicar una función. Si quieren usar Rest puro pueden usar el metodo $_SERVER['REQUEST_METHOD'] y de esta forma saber el metodo, y si tenemos un controlador podemos hacer:
$method = $_SERVER['REQUEST_METHOD'];
// Dependiendo del método de la petición ejecutaremos la acción correspondiente.
switch ($method) {
case 'GET':
// código para método GET
break;
case 'POST':
$arguments = $_POST;
// código para método POST
break;
case 'PUT':
// código para método PUT
break;
case 'DELETE':
// código para método DELETE
break;
}
Y esto lo podemos consumir con javascript y si usamos jquery es una papa:
$.ajax({
type: "GET",
dataType: "JSON",
url: "listar_paises",
success: function(data)
{ //hacer algo
},
error: function()
{ alert("Error recuperando la lista de Paises");
}
});
Y listo!!