Come generare un JSON feed con Laravel

Come generare un JSON feed con Laravel

JSON Feed è un nuovo standard per dare forma a un feed RSS basato su JSON che mira a semplificare la creazione dei feed abbandonando lo standard XML. Implementare un feed nel tuo sito è semplice, e la sintassi è sorprendentemente chiara.

Ecco un esempio:

 

Ma vediamo come creare un feed come questo con un breve esempio.

Prendi un elenco di post

Il primo passo è prendere un elenco di record dal database. In questo sito i record si trovano nella tabella “Posts” e usando Eloquent prendo gli ultimi 20 per il feed.

Setup dei dati per il JSON feed

Le specifiche del JSON Feed prevedono alcuni campi opziononali come ad esempio il titolo, URL del feed, icona del sito, e altri. Visto che non sono dati dinamici li aggiungiamo in un array manualmente:

Il campo vuoto items conterrà tutti i nostri post.

Aggiungiamo gli elementi al JSON Feed

Il passo finale è quello di effettuare un ciclo di tutti i nostri $posts e aggiungerli all’array items. Ecco un esempio utilizzando i miei dati:

 

L’unica parte univoca sono i time stamps. Utilizzo le funzionalità di Carbon per convertire a UTC e al formato RFC 3339 richiesto dalle specifiche JSON.

Risultato finale

Ecco il metodo completo finale:

 

Una cosa da notare è che con Laravel non dobbiammo impostare alcun header particolare o cose del genere. Solo restiture l’array $data che verrà convertito automaticamente in formato JSON con i corretti header.

Se vuoi implementare un package per questo proposito o hai bisogno di qualche funzionalità avanzata dai un’occhiata al nuovo LaravelJsonFeed di Mateus Guimarães.

Fonte Laravel News

Leave a reply