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