Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Blade: abilitare il template engine per le view

PHP. Come utilizzare Blade, il template engine del framework Laravel, per gestire le views di un'applicazione per l'e-commerce.
PHP. Come utilizzare Blade, il template engine del framework Laravel, per gestire le views di un'applicazione per l'e-commerce.
Link copiato negli appunti

Blade è il template engine del framework Laravel. In questo capitolo vedremo come utilizzarlo per le view del nostro e-commerce.

BladeOne: Blade in versione standalone

Dato che tale template engine è incluso in Laravel, dobbiamo utilizzare la sua versione standalone.

require_once ABSPATH . 'lib/bladeone/lib/BladeOne.php';
$views_directory = ABSPATH . 'views';
$cache_directory = ABSPATH . 'cache';
$blade = new \eftec\bladeone\BladeOne($views_directory,$cache_directory,\eftec\bladeone\BladeOne::MODE_DEBUG);
$template = 'home';
$vars = ['title' => 'Home Page'];
echo $blade->run($template, $vars);

BladeOne, struttura delle directory e nomi dei file

In questo esempio base notiamo che Blade ha bisogno di due specifiche directory per poter operare. La prima è la directory in cui verranno salvati temporaneamente i template compilati, mentre la seconda è la directory dove risiedono effettivamente i template delle view.

Il nome di ciascun file sarà del tipo nome.blade.php, quindi nell'esempio visto in precedenza il nome del template sarà home.blade.php.

Variabili e array

BladeOne supporta in modo completo la sintassi ed il funzionamento originario di Blade. Come si può notare, le variabili vengono passate al template tramite un array associativo. Quindi nella view home.blade.php avremo:

<title>{{$title}}</title>

Sostanzialmente Blade acquisisce le variabili passate dal controller in un array associativo restituito dal metodo di rendering. Ciascuna chiave dell'array associativo rappresenta il nome della variabile nella view locale.

Blade supporta tutti i tipi di dati PHP ed include costrutti per il controllo del flusso e delle iterazioni. Inoltre gli include all'interno delle view supportano il passaggio di ulteriori variabili locali:

@include('google-map', ['address' => 'Via San Michele 162, 66054 Vasto'])

Qui il parziale google-map riceve a sua volta la variabile $address che può essere usata al suo interno:

<div id="map" data-address="{{$address}}"></div>

Blade supporta anche l'uso del normale codice PHP o tramite i tag canonici o tramite un apposito blocco:

@php $address = 'Via San Michele 162, 66054 Vasto'; @endphp
<div id="map" data-address="{{$address}}"></div>

I blocchi

In Blade i blocchi che rappresentano costrutti del linguaggio PHP vengono potenziati con l'aggiunta di variabili di utility:

<ul>
@foreach($items as $item)
<li>
@if($loop->first)
<h1>{{$item}}</h1>
@else
<p>{{$item}}</p>
@endif
</li>
@endforeach
</ul>

La variabile $loop viene creata su ogni loop di Blade e tiene traccia della posizione del cursore che viene sempre inizializzato in ogni blocco iterativo. Si tratta a tutti gli
effetti di un modo per evitare di dover creare manualmente contatori locali.

Fate riferimento alla documentazione ufficiale di Blade per un elenco completo delle caratteristiche presenti.

Conclusione

Blade, nella sua versione standalone, è sicuramente una feature che potremmo aggiungere al nostro e-commerce per tenerlo aggiornato con le più recenti caratteristiche dei framework PHP in uso.

Ti consigliamo anche