Cos’è l’oggetto Request
Illuminate\Http\Request è la classe che consente di gestire in modo orientato agli oggetti le richieste HTTP ricevute dall’applicazione.
Ti dà accesso a tutte le informazioni contenute nella richiesta: dati del form, query string, file, header e altro.
Iniezione della Request in un controller
Se annoti con il tipoIlluminate\Http\Request un metodo di un controller, il service container di Laravel inietta automaticamente l’istanza della request.
Uso con i parametri di route
Se un metodo controller riceve anche parametri di route, scrivili dopoRequest.
Recupero dei dati della richiesta
Ottenere tutti i dati di input
Con il metodoall recuperi tutti i dati di input come array.
Funziona sia con richieste da form HTML sia con richieste XHR.
Ottenere un campo specifico
Il metodoinput recupera il valore dall’intero payload della richiesta (query string inclusa), indipendentemente dal metodo HTTP.
Ottenere la query string
Il metodoquery recupera valori solo dalla query string (dopo il ? nell’URL).
input considera sia il corpo della richiesta sia la query string, mentre query considera solo la query string.
Usa query se vuoi distinguere i dati POST dai parametri URL.Recupero tipizzato
Oltre ainput, ci sono metodi per recuperare i valori specificando il tipo.
Proprietà dinamiche
Puoi anche accedere ai campi come proprietà usando direttamente il loro nome.Ottenere un sottoinsieme dei dati di input
Cononly ed except puoi ottenere un sottoinsieme dei dati di input.
Verifica della presenza di un input
Con il metodohas verifichi che il valore sia presente nella richiesta.
filled.
isNotFilled.
Verifica del path e del metodo della richiesta
Ottenere e verificare il path
Ottenere l’URL
Verifica del metodo HTTP
ConisMethod puoi verificare il metodo HTTP.
Upload di file
Recuperare il file caricato
Con il metodofile ottieni il file caricato.
Viene restituita un’istanza di Illuminate\Http\UploadedFile.
hasFile.
Salvataggio del file
Con il metodostore salvi il file nello storage.
Il nome del file viene generato automaticamente.
storeAs.
Esempio pratico: ricezione dei dati di un form
Esempio di ricezione in un controller dei dati di un form di registrazione utente.Prossimi passi
Middleware
Ripassa come usare i middleware per filtrare le richieste.