Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile
Sconto del 20% su tutti i corsi inserendo nel form il codice SPRING20 | Fino al 30 aprile

Guide per aspiranti programmatori

Lezione 8 / 30

L’ecosistema Laravel

Quando definiamo Laravel un framework intendiamo dire che Laravel offre agli sviluppatori php una struttura di supporto e delle funzionalità generiche che possono essere utilizzate per realizzare l’effettivo contenuto della singola applicazione. Si tratta, quindi, di codice scritto da terzi che permette di risolvere un problema comune, in modo simile a una libreria software.

La differenza tra libreria e framework è, però, legata a come queste intervengono nel flusso di esecuzione dell’applicazione. Quando si usa una libreria, è lo sviluppatore a scegliere quando chiamare una determinata funzione della libreria, mantenendo, quindi, pieno controllo sul flusso. Quando si usa un framework, invece, è il framework a determinare come e dove determinate funzioni possono essere implementate affinché possano essere effettivamente chiamate ed eseguite, realizzando quella che definisce “inversione del controllo”.

Inversione del controllo

Inversione del controllo

Ovviamente un framework può fare uso di librerie (rendendolo visibile o nascondendolo allo sviluppatore web) per implementare specifici comportamenti.

Laravel si appoggia ad alcuni consolidati pacchetti del mondo del linguaggio PHP per offrire le funzionalità di base necessarie a una applicazione web. Questo insieme di pacchetti e strutture definite da Laravel prendono il nome di Laravel Framework e possiamo dire che corrispondono indicativamente al pacchetto Composer di nome, per l’appunto, laravel/framework.

Il team di Laravel offre alcuni pacchetti Composer aggiuntivi che costituiscono il cosiddetto first-party ecosystem, ovvero l’ecosistema base di Laravel sviluppato e mantenuto direttamente dal team di Laravel e pensato per rispondere ad alcune specifiche esigenze di chi sviluppa con Laravel.

Questi pacchetti possono essere pensati come estensioni del framework base, poiché offrono spesso soluzioni a determinati problemi specifici mantenendo l’approccio di “inversione del controllo” tipica del framework.

Pacchetti specifici di Laravel

Nell’elenco che segue abbiamo riportato i pacchetti sviluppati e sponsorizzati direttamente dal team di Laravel che offrono soluzioni a problemi specifici. Si tratta di necessità che non sono comuni in ogni applicazione web, ma che, qualora fosse necessario supportare, sarebbe ottimale avere come estensione del framework e non come libreria.

In rigoroso ordine alfabetico, i pacchetti “extra” al momento mantenuti direttamente dal team di Laravel sono:

  • Cashier – interfaccia per i servizi di pagamento in abbonamento Stripe
  • Dusk – esecuzione di test browser automatizzati
  • Echo – sviluppo di applicazioni con broadcasting degli eventi tramite WebSocket
  • Horizon – dashboard per monitorare job e queue Laravel che usano Redis
  • Nova – progettazioni di interfacce e dashboard di admin (a pagamento)
  • Octane – sfrutta gli application server Open Swoole, Swoole, and RoadRunner per aumentare le performance
  • Pint – linter/fixed del codice PHP in stile Laravel
  • Sail – gestisce un ambiente di sviluppo basato su Docker
  • Sanctum – sistema di autenticazione per applicazioni SPA e mobile basato su token
  • Scout – aggiunge “full-text search” al proprio database
  • Socialite – autenticazione social con Facebook, Twitter, GitHub, LinkedIn e altro
  • Spark – permette di offrire piani a sottoscrizione per il proprio servizio (a pagamento)
  • Telescope – debug di tutto ciò che accade nell’applicazione nel proprio ambiente di sviluppo

Starter Kit di Laravel

Con il termine starter kit il team di Laravel indica al momento due specifici pacchetti Composer che estendono le funzionalità base di una applicazione Laravel che necessiti di gestire l’autenticazione degli utenti.

I due starter kit disponibili al momento si chiamano Breeze e JetStream. Entrambi semplificano e automatizzano la realizzazione di rotte, controller e view (vedremo più in là cosa si intende con questi termini) necessarie a far registrare e autenticare utenti.

Entrambi vanno installati tramite Composer (composer require laravel/breeze –dev oppure composer require laravel/jetstream) a seguito della quale sarà compito dello sviluppatore indicare o scegliere la specifica modalità in cui verrà utilizzato lo starter kit.

Nel creare applicazioni web in cui è coinvolta l’autenticazione degli utenti, infatti, sarà di particolare rilevanza scegliere come la parte frontend dell’applicazione, ovvero quella che è in esecuzione nel browser degli utenti, dialogherà con la parte backend dell’applicazione stessa, ovvero quella in esecuzione con PHP e Laravel sul server. In base alla modalità e alla scelta effettuata per implementare il front end, i due starter kit andranno configurati e usati in modi diversi.

NOTA: sebbene non sia considerato uno starter kit, poiché non offre supporto alle funzioni relative all’autenticazione, vale la pena ricordare l’esistenza del pacchetto Composer laravel/ui.

Deployment

Un brevissimo accenno finale a quelli che sono servizi (a pagamento) offerti dal team di Laravel, tutti incentrati nella gestione dei deployment di applicazioni Laravel in produzione, ma con differenze tra modalità e ambienti di deploy supportati:

  • Envoyer: deployment e monitoraggio di applicazioni Laravel
  • Forge: server management e deploy management
  • Vapor: piattaforma di deployment serverless, basato su AWS Lambda

Pagamento rateale

Valore della rata: A PARTIRE DA 115 €/mese.

Esempio di finanziamento 

Importo finanziato: € 2440 in 24 rate da € 115 – TAN fisso 9,55% TAEG 12,57% – importo totale del credito € 2841.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

*In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Pagamento rateale

Valore della rata: A PARTIRE DA 210 €/mese.

Esempio di finanziamento  

Importo finanziato: € 4500 in 24 rate da € 210,03 – TAN fisso 9,68% TAEG 11,97% – importo totale del credito € 5146,55.

Il costo totale del credito comprende: interessi calcolati al TAN indicato, oneri fiscali (imposta di bollo sul contratto 16,00 euro*) addebitati sulla prima rata, costo mensile di gestione pratica € 3,90, spesa di istruttoria € 0,00, spesa per invio rendicontazione periodica cartacea € 0,98 (o spesa per invio rendicontazione periodica cartacea € 0,00), imposta di bollo su rendicontazione periodica € 0,00. Modalità di rimborso obbligatoria: addebito diretto su c/c. La scadenza delle rate è determinata dal giorno della liquidazione del contratto; la data di scadenza delle rate è prevista il giorno 15 del mese. L’importo di ciascuna rata comprende una quota di capitale crescente e interessi decrescente secondo un piano di ammortamento “alla francese”. Offerta valida dal 01/01/2024 al 31/12/2024.

Messaggio pubblicitario con finalità promozionale. Per le informazioni precontrattuali richiedere sul punto vendita il documento “Informazioni europee di base sul credito ai consumatori” (SECCI) e copia del testo contrattuale. Salvo approvazione di Sella Personal Credit S.p.A. Aulab S.r.l. opera quale intermediario del credito NON in esclusiva.

* In fase di richiesta del finanziamento verrà proposta la facoltà di selezionare, in alternativa all’imposta di bollo sul contratto di 16,00 euro, l’imposta sostitutiva, pari allo 0,25% dell’importo finanziato.

Contattaci senza impegno per informazioni sul corso

Scopriamo insieme se i nostri corsi fanno per te. Compila il form e aspetta la chiamata di uno dei nostri consulenti.