Il mio framework php preferito (CodeIgniter) gestisce in modo nativo le richieste con metodo HTTP GET, quindi creare un semplice sistema di API a sola lettura è molto semplice. Ipotizziamo di creare una sottocartella chiamata api nella cartella controller, e di posizionarvi dentro i vari controller che rispecchieranno le risorse delle API.
application
|- controllers
|- api
|- news.php
A questo punto sappiamo che CodeIgniter gestirà che richieste del tipo
http://www.example.com/api/news/getAll http://www.example.com/api/news/getSingle/12richiedendo l'esecuzione del controller news.php che compare nell'albero di esempio, con i metodi getAll senza parametri e getSingle con un parametro GET valorizzato a "12".
Vediamo quindi il codice del controller:
class News extends CI_Controller {
public function getAll()
{
$query = $this->db->get('news');
$elenco_news = array();
foreach ($query->result() as $row)
{
$news = new stdClass();
$news->id = $row->id;
$news->titolo = $row->titolo;
$news->contenuto = $row->contenuto;
array_push($elenco_news, $news);
}
echo json_encode($elenco_news);
}
public function getSingle(id)
{
$this->db->from('news')->where('id',$id);
$query = $this->db->get();
$row = $query->row();
$news = new stdClass();
$news->id = $row->id;
$news->titolo = $row->titolo;
$news->contenuto = $row->contenuto;
echo json_encode($news);
}
}
Sarà sufficiente quindi creare un controller per ogni tipo di risorsa (ad esempio news, eventi, banner) ed i relativi metodi, ricordandosi di strutturare le risposte in formato JSON come da esempio.
Nessun commento:
Posta un commento