Introduzione al template engine Plates per PHP

Mattepuffo's logo
Introduzione al template engine Plates per PHP

Introduzione al template engine Plates per PHP

Plates è dei diversi template engine per PHP.

Ma rispetto ad altri non intriduce una nuova sintassi / linguaggio, in quanto parte dal presupposto che PHP di per sè ha già un template engine integrato.

Quindi incoraggia ad usare le funzioni base e le estende.

Possiamo installarlo con Composer:

$ composer require league/plates:v4.0.0-alpha

Io ho usato la versione 4 che è in alpha; non penso vada bene per la produzione.

Comunque nella documentazione sono anche spiegate le linee giuda per aggiornare dalla 3.

Per il nostro tutorial creiamo una cartella templates dove mettiamo tutti i nostri templates; ogni file ha estensione phtml.

Cominciamo da quello base; per chi conosce le famose MasterPage so di che parlo (base_template.phtml):

<!DOCTYPE html>
<html>
    <head>
        <title><?= $v($title) ?></title>
    </head>
    <body>
        <?= $v->section('content') ?>
    </body>
</html>

Qui indichiamo che il titolo sarà dinamico ed impostato nella pagina; ed inidchiamo dovrè andrà il contenuto della pagina.

Adesso create il file persona.phtml:

$v->layout('base_template', ['title' => 'Persona']) ?>
<p>Ciao, <?= $v($nome) ?></p>

Qui indichiamo il template di base, impostiamo il titolo e visualiziamo un valore che ci arriva dal controller.

Il controller sarà una cosa del genere:

require_once 'vendor/autoload.php';

$templates = League\Plates\Engine::create('./templates');
echo $templates->render('persona', ['nome' => 'Mattepuffo']);

Enjoy!


Condividi

Commentami!