Molto spesso si ha la necessità di realizzare dei Servizi REST, questo per garantire che il proprio applicativo gira sulle diverse piattaforme che il mercato ci offre.
Slim Framework è appunto un framework PHP, il suo punto di forza rispetto agli altri framework è la sua semplicità di utilizzo, realizzare dei servizi REST con Slim è davvero semplice si entra facilmente nei meccanismi del framework.
Slim ci offre le seguenti funzionalità:
L’installazione di slim framework è fortemente consigliata con Composer. Quest’ultimo è un tool per gestire le dipendenze nei progetti php per capire meglio su cos’è composer cliccare qui.
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '../vendor/autoload.php';
$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();
In questo esempio abbiamo creato la nostra prima route in get, quello che viene fatto è un semplice saluto se viene chiamato l’URL: ‘https://nostro_url/hello/nostro_nome’. Analizzando il codice la cosa fondamentale e includere il file autoload.php presente nella cartella vendor, questo file ci carica in maniera automatica il framework Slim, subito dopo bisogna creare un’ istanza del framework ($app) attraverso quest’istanza creiamo la nostra prima route che come detto in precedenza e di tipo get che stamperà un saluto più la variabile name avvalorata.
Possiamo aggiungere route che gestiscono richieste di tipo Get il tutto avviente con il metodo get che slim ci mette a disposizione. Esso accetta due argomenti:
$app = new \Slim\App();
$app->get('/books/{id}', function ($request, $response, $args) {
// Mostra il libro identificato dall' args['id']
});
Possiamo aggiungere route che gestiscono richieste di tipo Post il tutto avviente con il metodo post che slim ci mette a disposizione. Esso accetta due argomenti:
$app = new \Slim\App();
$app->post('/books', function ($request, $response, $args) {
// Crea un nuovo libro
});
Possiamo aggiungere route che gestiscono richieste di tipo Put il tutto avviente con il metodo put che slim ci mette a disposizione. Esso accetta due argomenti:
$app = new \Slim\App();
$app->put('/books/{id}', function ($request, $response, $args) {
// Aggiorna il libro identifico dal args['id']
});
Possiamo aggiungere route che gestiscono richieste di tipo Delete il tutto avviente con il metodo delete che slim ci mette a disposizione. Esso accetta due argomenti:
$app = new \Slim\App();
$app->delete('/books/{id}', function ($request, $response, $args) {
// Elimina il libro identifico dal args['id']
});
Queste sono le operazioni CRUD che sono facilmente realizzabili con Slim Framework, ma vi voglio ricordare che con Slim si possono realizzare altre operazioni di cui non parlerò in quest’articolo.
L’ utilizzo di Slim credo non sia sempre da sconsigliare, anzi: la sua estrema semplicità lo rende ideale per prototipi o piccole applicazioni. Può anche essere utilizzato durante lo sviluppo front end, per sostituire uno strato di servizi reali con uno strato di servizi mock. Se invece la vostra applicazione è di dimensioni medio-grandi salterei direttamente ad un framework più strutturato (ma anche più complesso) come Laravel o Zend.
Link utili:
https://www.slimframework.com/
Guida molto semplice e chiara per chi è agli inizi ed ha bisogno di implementare un semplice ed efficace servizio REST!
Ti ringrazio Giovanni. A presto per nuove guide.