Introduzione al template engine Twig per PHP

Mattepuffo's logo
Introduzione al template engine Twig per PHP

Introduzione al template engine Twig per PHP

Twig è uno dei template engine più usati per PHP.

Se ho ben capito è quello default di Symfony.

Ma è comunque installabile in modalità standalone in questo modo:

$ composer require "twig/twig:^3.0"

Fatto questo create una cartella per i templates e metteteci dentro un template del genere:

<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Twig Test</title>
    </head>
    <body>
        <p>
            {{ nome }} è un {{ tipo }}
        </p>
        Articoli:
        <ul>
            {% for articolo in articoli %}
                {% if articolo.abilitato %}
                    <li>{{ articolo.titolo }}</li>
                {% endif %}
            {% endfor %}
        </ul>
    </body>
</html>

Questo il codice PHP di esempio:

require 'vendor/autoload.php';

use Twig\Environment;
use Twig\Loader\FilesystemLoader;

$loader = new FilesystemLoader(__DIR__ . '/templates');
$twig = new Environment($loader);

$articoli = [
    [
        'titolo' => 'Primo articolo',
        'abilitato' => true
    ],
    [
        'titolo' => 'Secondo articolo',
        'abilitato' => true
    ],
    [
        'titolo' => 'Terzo Articolo',
        'abilitato' => false
    ]
];

echo $twig->render('index.html.twig',
    [
        'nome' => 'Mattepuffo.com',
        'tipo' => 'Blog',
        'articoli' => $articoli
    ]);

Come vedete abbiamo creato un array che passiamo alla pagina.

Nel loop controlliamo anche se un articolo è abilitato o meno.

Da questo esempio è facile prendere i dati da database; basta riempire l'array multidimensionale da query.

Enjoy!


Share this Post

Commentami!