Slim è definito un micro-framework in PHP che permette di realizzare API REST molto rapidamente. Sappiamo che quest’ultima è una metodologia ormai onnipresente nei servizi web: efficace, efficiente, usa solo ciò che HTTP mette a disposizione e dialoga con ogni tecnologia. Ad arricchire gli scenari di utilizzo contribuiscono proprio i framework come Slim che rendono facile ed immediata la realizzazione delle API.
La homepage del sito Internet mostra un esempio breve ma significativo:
$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
$app->run();
Come si vede, le fasi di utilizzo sono, di massima, tre:
- si crea l’oggetto che rappresenta il framework;
- si definiscono le funzionalità delle API;
- infine si attiva il framework tramite il metodo run().
Interessante notare come vengano resi disponibili oggetti che rappresentano la richiesta HTTP (Request) e la risposta (Response): ognuno di essi offre metodi per accedere ai dati e agli attributi delle intestazioni.
Il Framework è ricco di funzionalità utili come Routing, cache HTTP e gestione dei Cookie nonchè la possibilità di creare Middleware ossia oggetti che, dopo essere stati registrati nell’applicazione, vengono invocati prima dell’esecuzione delle chiamate REST: utilizzi dei Middleware che vengono alla mente all’istante sono il logging delle chiamate, compressione/decompressione dei messaggi, autenticazione.
Slim è utilissimo per creare delle API velocemente, ad esempio, per far dialogare una app mobile con un proprio servizio web. C’è comunque da notare che questa soluzione è più adatta ad applicazioni non troppo complesse visto che non dispone di una propria architettura interna per strutturare maggiormente la logica di business e l’accesso ai dati.
Provatelo nei vostri progetti e fateci sapere che ne pensate.
Alla prossima!












One Response to “Slim Framework: API REST rapide in PHP”
28 Giugno 2016
ignaziocConosco Slim e mi piace molto, ci sono inoltre molte risorse in rete:
https://github.com/xssc/awesome-slim
Io lo utilizzando per un progetto personale e devo dire che è molto più versatile di quello che si possa pensare.
Non è un framework pensato per le API, ma ovviamente ci si può fare anche quello.