Guida Laravel in Italiano


Una guida che ti aiuterà a muovere i primi passi nello sviluppo di applicazioni web sfruttando il framework per eccellenza del linguaggio PHP: Laravel

Guida Laravel in Italiano
Coding

Cosa imparerai

Scoprirai cosa è Laravel e come sviluppare applicazioni web robuste e funzionali, sfruttando tutti i vantaggi offerti da PHP e le utilità messe a disposizione dal framework Laravel per gestire con semplicità ogni necessità tipica dello sviluppo del backend (ma anche del frontend) di una moderna web application

  1. Introduzione ad HTTP, Composer e Laravel
  2. Routing, Controller e View in Laravel
  3. Template HTML in Laravel con Blade
  4. Database in Laravel con Eloquent ORM
  5. Approfondimenti su Laravel
  6. Laravel e il Frontend

1
Introduzione ad HTTP, Composer e Laravel

Che cos'è HTTP

1Che cos'è HTTP

HTTP (Hypertext Transfer Protocol) è una delle tecnologie alla base del Web; in particolare, HTTP è un protocollo a livello di applicazione nato per la trasmissione di documenti, come ad esempio i file HTML. Il protocollo HTTP è stato inizialmente pensato per la comunicazione tra web browser e web server, ma può essere usato anche per altri scopi. HTTP segue uno sche...

Continua a leggere
Cosa sono le richieste HTTP

2Cosa sono le richieste HTTP

Cosa sono le richieste HTTP Le richieste HTTP sono messaggi inviati dal client al server per iniziare una determinata azione. Hanno una determinata struttura e sono caratterizzati da un metodo (o verbo) che permette di distinguere il tipo di azione richiesta. Struttura richieste HTTP Una richiesta HTTP è composta da: un metodo che indica l’azione richiesta una risorsa...

Continua a leggere
Cosa sono le risposte HTTP

3Cosa sono le risposte HTTP

Cosa sono le risposte HTTP Le risposte HTTP sono messaggi inviati dal server in risposta a una richiesta inviata dal client. Hanno una struttura specifica e sono caratterizzate dal codice di risposta (o status code) che permette di capire se la richiesta è andata a buon fine oppure no. Struttura risposta HTTP Una risposta HTTP è caratterizzata da: lo status code della ...

Continua a leggere
Gestore di dipendenze Composer

4Gestore di dipendenze Composer

Che cos’è Composer Composer è un gestore di dipendenze per il linguaggio PHP, ovvero un tool che permette di dichiarare da quali librerie dipende il proprio progetto e offre comandi per installare e aggiornare tali dipendenze. Nel mondo dello sviluppo software, infatti, è normale utilizzare delle librerie esterne (o di terze parti) che implementano le varie funzion...

Continua a leggere
Laravel, il framework per artigiani del web

5Laravel, il framework per artigiani del web

Cos'è Laravel? Laravel è un framework del linguaggio PHP pensato per creare applicazioni web. È costruito basandosi sulle migliori tecnologie e librerie PHP e rende molto semplice l’implementazione di funzioni tipiche di applicativi web, quali autenticazione, routing delle richieste, gestione delle sessioni e del caching. L’utilizzo di un framework offre ...

Continua a leggere
L’ecosistema Laravel

6L’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 dif...

Continua a leggere
Struttura di un progetto Laravel

7Struttura di un progetto Laravel

Quando si crea un nuovo progetto con Laravel viene creata una directory al cui interno sono già disponibili tutti i file necessari per sfruttare fin da subito le potenzialità offerte da Laravel. Si tratta di un punto di partenza valido per applicativi di ogni dimensione ed esigenza, in cui ogni directory assolve a uno specifico compito legato al ciclo di vita dello sviluppo e dell&rs...

Continua a leggere

2
Routing, Controller e View in Laravel

Laravel e il ciclo di vita delle richieste

8Laravel e il ciclo di vita delle richieste

Il routing è uno degli aspetti essenziali di una applicazione web ed è, ovviamente, alla base di un progetto Laravel. Con routing si intende il meccanismo per il quale le richieste HTTP vengono instradate (route) alla porzione di codice che le gestirà ed è alla base del ciclo di vita di una richiesta HTTP gestita da un applicativo Laravel. In Laravel il routing viene...

Continua a leggere
Route in Laravel

9Route in Laravel

In Laravel una Route permette di configurare la nostra applicazione per rispondere quando viene effettuata una richiesta a una determinata URI. In questo modo, la nostra applicazione può rispondere a richieste di risorse che non devono essere necessariamente file specifici presente sul server. Ciò consente una grande flessibilità sotto molti punti di vista, non solo dal punto ...

Continua a leggere
Route parametriche in Laravel

10Route parametriche in Laravel

In questa lezione vedremo come Laravel permette di gestire con una singola rotta URI in cui sono presenti elementi variabili. Ciò consente di semplificare le proprie rotte ed, ovviamente, poter creare una struttura di URL coerente anche per quelle situazioni in cui la pagina dipende dalla effettiva presenza di un contenuto su un database. Come esempio, basti pensare alla pagina per acced...

Continua a leggere
Controller in Laravel

11Controller in Laravel

Laravel è pensato per rendere semplice e immediata la separazione dei compiti (separation of concerns) tra diverse classi. Per questo motivo è possibile separare la definizione di una rotta (intesa come definizione della URI e del metodo HTTP) dalla gestione del comportamento per generare la risposta. Le classi che si occupano della gestione sono definite controller. Tali classi p...

Continua a leggere
View in Laravel

12View in Laravel

Le view in Laravel sono particolari componenti del framework nei quali è possibile definire e salvare la struttura delle pagine HTML e dei file che verranno effettivamente restituiti dalla risposta HTTP. Ciò consente di separare ulteriormente la logica applicativa (route & controller) dalla logica di presentazione (view). Le view rendono semplice e immediato costruire pagine H...

Continua a leggere

4
Database in Laravel con Eloquent ORM

Laravel e i database relazionali

15Laravel e i database relazionali

Uno dei motivi per cui usare Laravel per la propria applicazione web è anche la versatilità e la semplicità con cui è possibile interagire con uno dei database supportati. Difficile, infatti, immaginare una applicazione web moderna che non debba interagire con una base dati. Laravel offre agli sviluppatori php diversi approcci, a seconda della necessità, che p...

Continua a leggere
Migrazioni del database in Laravel

16Migrazioni del database in Laravel

Nell’ambito dei database una migrazione è un processo che permette di creare o modificare lo schema di una tabella in modo che sia possibile adattare la struttura dei dati salvati nella tabella di pari passo con le modifiche al codice che usa quelle tabelle. Potendo “versionare” la struttura delle tabelle collegandolo alla specifica versione del codice, le migrazioni facil...

Continua a leggere
Eloquent e Models

17Eloquent e Models

Con il termine ORM (Object Relational Mapper) si intende una tecnica di programmazione informatica che permette, nella pratica, di mettere in relazione un database relazionale e un oggetto/classe nel proprio codice. In Laravel viene fornito l’ORM Eloquent e si basa sulla corrispondenza tra una tabella del database e una classe di tipo “Model”. Nello specifico, implementazione ...

Continua a leggere
Eloquent e l’integrazione con applicazioni Laravel

18Eloquent e l’integrazione con applicazioni Laravel

L’integrazione dell’ORM Eloquent in una applicazione Laravel non si limita alla possibilità di scrivere query verso il database sfruttando la semplicità di una classe che rappresenta la tabella. Sappiamo che in una applicazione Laravel è possibile usare la dependency injection per includere e accedere semplicemente ad altre parti dell’applicazione. Grazie ...

Continua a leggere
Eloquent e le relazioni tra tabelle in Laravel

19Eloquent e le relazioni tra tabelle in Laravel

Nella introduzione ai database relazionali abbiamo visto che è possibile (e consigliato) creare relazioni tra varie tabelle nel momento in cui esiste una relazione tra le entità che sono rappresentate nelle tabelle. Una tabella movies potrà collegarsi sia alla tabella actors che alla tabella directors. Esistono diversi tipi di relazioni possibili in un database, ognuna indi...

Continua a leggere
Eloquent e Mass Assignment in Laravel

20Eloquent e Mass Assignment in Laravel

I vantaggi di usare i Model di Eloquent in una applicazione Laravel sono molteplici. Rispettando alcune buone regole sulla nomenclatura di tabelle e colonne del database, è possibile accedere direttamente dal proprio codice a tali dati senza dover scrivere codice necessario a convertire elementi del database in classi e relative property. Nelle lezioni precedenti abbiamo, principalmente,...

Continua a leggere

5
Approfondimenti su Laravel

Form e validazione delle request in Laravel

21Form e validazione delle request in Laravel

In questa lezione andremo ad approfondire come inviare dati alla nostra applicazione e come assicurarci che tali dati inviati siano corretti. Nelle applicazioni web, l’invio dei dati è abitualmente realizzato tramite form HTML: i dati inseriti dall’utente nel browser vengono inviati al server e memorizzati sul database. Laravel rende estremamente semplice collegare i campi di...

Continua a leggere
Autenticazione in Laravel

22Autenticazione in Laravel

In un applicativo web è importante poter distinguere quali richieste sono effettuate da utenti registrati e quali, invece, provengono da visitatori che non hanno fatto l’accesso. A seconda dei casi, infatti, potremmo voler concedere solo ad alcuni l’accesso a determinate risorse (per esempio solo gli utenti registrati come “editor” possono aggiungere nuovi post a un ...

Continua a leggere
Model, Resource Controller e CRUD in Laravel

23Model, Resource Controller e CRUD in Laravel

In alcuni contesti, come per esempio quello delle API RESTful, potrebbe essere utile unire insieme la “risorsa” presente sul database (intesa come riga di dati salvati) con la “risorsa” intesa come documento sul web accessibile tramite URI (che, per l’appunto, è l’acronimo di Uniform Resource Identifier). In questo modo è possibile creare un leg...

Continua a leggere
Invio email in Laravel

24Invio email in Laravel

L’invio di email in una applicazione Laravel è realizzato in modo semplice e flessibile e sfrutta tre concetti base: i mailer, i mailable, e la facade Mail. Ognuno dei tre si occupa di un diverso aspetto del ciclo di vita dell’invio di un messaggio di posta elettronica. I mailer sono le configurazioni dei servizi di invio email (locali o remoti) che può usare l’a...

Continua a leggere
Aprire e salvare file in Laravel

25Aprire e salvare file in Laravel

Laravel permette di accedere a file esistenti e salvare file attraverso un’ astrazione del file system che permette di interfacciarsi con file locali o remoti con le stesse modalità. Ciò consente non solo di leggere e scrivere dal file system locale, FTP o AWS S3 nello stesso modo, ma anche nel caso di scegliere un'opzione diversa a seconda che si stia sviluppando o si s...

Continua a leggere
Scopri i corsi

Le nostre guide possono essere molto utili per muovere i primi passi nel mondo della programmazione, ma se vuoi iniziare una nuova carriera in ambito digital & tech con il supporto costante dei docenti e tantissime esercitazioni pratiche, ti consigliamo di frequentare uno dei corsi della nostra Hackademy!

Scopri i corsi