Dopo aver letto la guida sulle rotte siamo in grado di crare una pagina html in risposta a un particolare URL.

Route::get( '/benvenuto', function()
	{
	return '<!DOCTYPE html>
			<html ang="it-IT">
				<head>
					<title></title>
				</head>
				<body>
					<h1>Pagina di benvenuto</h1>
					<p>Benvenuto nel sito</p>
				</body>
			</html>';
	});

Nell’esempio il codice html viene prodotto direttamente all’interno della funzione anonima, tuttavia non ha molto senso mettere il codice html assieme alle rotte. Su Laravel, tutti i file che contengono l’html dell’applicazione sono separati dalla logica dell’applicazione e salvati all’interno della cartella app/views. Questi file che rappresentano la parte visuali dell’applicazione sono chiamati viste.

priva-views-laravel

Creaiamo il file benvenuto.php e inseriamo l’html della pagina di benvenuto.

<!DOCTYPE html>
<html ang="it-IT">
	<head>
		<title></title>
	</head>
	<body>
		<h1>Pagina di benvenuto nel sito</h1>
		<p>Benvenuto!</p>
	</body>
</html>

A questo punto bisogna modificare la funzione anonima passata alla route e passare la vista appena creata.
Con il metodo View::make viene creata un’istanza dell’oggetto View che rappresenta una vista.

Route::get( '/benvenuto', function()
	{
		return View::make( 'benvenuto' );
	});

Come passare dati alle viste

È possibile passare un array di dati come secondo parametro del metodo View::make

Route::get( '/benvenuto', function()
	{
                $data = array( 'nome' => 'Luca' );
		return View::make( 'benvenuto', $data );
	});

I dati saranno disponibili nella view all’interno di variabili che hanno lo stesso nome dell’indice dell’array.

<!DOCTYPE html>
<html ang="it-IT">
	<head>
		<title></title>
	</head>
	<body>
		<h1>Pagina di benvenuto</h1>
		<p>Benvenuto <?php echo $nome; ?> </p>
	</body>
</html>

Per passare informazioni alle viste è possibile utilizzare anche altri metodi.

return View::make( 'benvenuto')->with( 'nome', 'Maria' ) ;

//magin method
return View::make( 'benvenuto')->withNome( 'Marco' ) ;

È possibile condividere dei dati con tutte le viste

View::share( 'nome', 'Luca' );

Come passare dati dalle viste alle rotte

Nella guida sui form vedremo come passare dati dalle viste alle rotte


  inStileWeb.com
blog comments powered by Disqus