2011-01-14 12 views
5

PHP e MySQLUtilizzando un RESTful API per i siti web dinamici

nella costruzione di siti web dinamici (può essere personale, web app, ecc ..), è adatto da utilizzare richiesta API chiamate, invece di query MySQL?

Esempio nella mia funzione getArticles(), devo usare una query MySQL nativo come:

$sql = 'SELECT id, title, content 
     FROM r_articles' 
$result = mysql_query($sql) or die ('.. bla bla'); 

Oppure, semplicemente eseguire una richiesta GET a: http://mysite.com/api/articles. Quindi (presumibilmente la risposta è in JSON) formatta la risposta.

NOTA: L'API deve essere creata per prima.

+0

Sono in ritardo per la festa, lo so, ma il tuo approccio REST non comporterebbe il doppio delle richieste HTTP? – chelmertz

risposta

6

Ciò dipende completamente dal tipo di sito. Se stai costruendo un piccolo progetto con solo l'interfaccia web, rimani con le tue chiamate mysql.

Se stai facendo un sito che deve diventare grande e servire più di un servizio, ad es. un'applicazione Android/iPhone è già pianificata, crea l'API e lascia che entrambe le applicazioni lo utilizzino. Le API sono ideali per la scalabilità e servono a molti clienti. Tuttavia, per una rappresentazione Web ad es. per il vostro dentista locale è semplicemente sopra la testa.

1

I miei due centesimi:

Penso che un sacco di che dipende dall'applicazione. Se si prevede che l'applicazione sia ampiamente implementata (attraverso l'azienda/ecc.) In modo tale che più di un sito abbia bisogno di accedere agli stessi oggetti che questa applicazione fa, interrogare un servizio web per il proprio oggetto dell'articolo probabilmente porterà a un ambiente più pulito, più codice riutilizzabile.

Allo stesso tempo, direi che c'è del lavoro addizionale per la progettazione e l'implementazione di quel tipo di soluzione, e ulteriori costi aggiuntivi addizionali per rendere le richieste GET aggiuntive dallo script PHP per fare quel tipo di elaborazione . Inoltre, potrebbero esserci rischi per la sicurezza legati al fatto di rendere disponibile un'interfaccia esterna come questa che potrebbe dover essere esaminata.

Pertanto, la mia raccomandazione sarebbe quella di mantenere gli oggetti ben incapsulati e di costruirli con SQL se il sito è locale e/o piccolo (poiché c'è sempre la possibilità di offrirli tramite SOAP o JSON o che cosa hai in seguito, se lo fai bene :). Se, d'altra parte, questa sarà un'applicazione distribuita su larga scala, allora voterei per passare il tempo all'inizio a costruire qualche tipo di framework di servizi API, dal momento che probabilmente ne avrai bisogno in seguito .

1

Personalmente, trovo che questo metodo sia davvero fantastico. Se sai che utilizzerai questa API in futuro, ti assicurerà che la tua API abbia le stesse funzionalità del sito web e consolidi tutta la tua logica. Lo svantaggio è che probabilmente avrai un po 'di overhead in più.

P.S. A seconda delle dimensioni previste del tuo servizio/sito web, potresti voler inserire tale API sul suo sottodominio (api.website.com).