Le rotte permettono di mappare un particolare pattern inserito come URL e dare una risposta adeguata, invocando ad esempio un controller che a sua volta preleverà dei contenuti dal database e li invierà ad una vista per la realizzazione della pagina finale.

Le rotte di laravel sono definite nel file app/routes.php

rotte-laravel

La più semplice delle rotte è costituita da un URI e da una closure (funzione anonima).

Route::get('/saluta', function()
{
    return 'Ciao a tutti';
});

Le rotte sono sempre dichiarate utilizzando la classe Route seguita dopo :: da un metodo, nell’esempio get. In questo caso quindi si tratta di una richiesta per una pagina web.

Se aprima il browser e aggiungiamo /saluta all’indirizzo relativo all’home page dell’applicazione (nella nostra installazione risulta instileweb.com/prova_laravel/public/saluta) Verrà visualizzata la scritta ‘Ciao a tutti’ passata con la funzione anonima.

Oltre al metodo get possiamo utilizzare post, quando la richiesta porta dei dati con se ad esempio in seguito alla sottoscrizione di un form, che non sono visualizzati nell’URL.
Ad esempio se abbiamo un form con l’attributo action che punta alla pagina /form

Route::post('/form', function()
{
   print_r( $_POST );
});

Esistono altri metodi della classe Route, per ora ci fermiamo a get e post.
Possiamo cominciare a sperimentare con le rotte, definendo tutte quelle che vogliamo.

//home page
Route::get('/', function() {});

Route::get('/articoli', function() {});
Route::get('/articoli/wordpress', function() {});
Route::get('/area-utenti', function() {});

A ciascuna rotta possima attribuire una funzione anonima che svolga un compito arbitrario.
Ad esempio se vogliamo, stabilire quale ambiente di configurazione stiamo utilizzando (come visto nelle configurazioni generali) possiamo scrivere

Route::get('/quale/configurazione', function()
{
	return App::environment();
});

Come passare parametri nelle rotte

Possiamo passare dei parametri utilizzato dei segnaposto tra parentesi quadre. Le stringhe segnaposto devono essere passate come argomento della closure

Route::get('/untenti/{nome}', function( $nome )
{
    return 'Profilo di ' . $nome;
});

Quindi se visitiamo l’indirizzo http://dominio.it/mi/chiamo/luca, nella pagina sarà stampata la frase:
Ciao il mio nome e luca.

Parametri opzionali

Inserendo un punto interrogativo dopo il testo segnaposto e definedo un valore di default nella clousure è possibile definire dei parametri opzionali. Nell’esempio se è presente il nome di un utente viene mostrato il suo profilo altrimenti un elenco di tutti gli utenti.

Route::get( 'utenti/{nome?} ', function( $nome = null )
{
    if ( $nome == null )

});

  inStileWeb.com
blog comments powered by Disqus