Категории

Примеры кода

Как прикрутить Twig к своему самописному PHP-блогу?

Как прикрутить Twig к своему самописному PHP-блогу?

Установка Twig через Composer.
Создай папку templates/, где будут .twig-файлы (названия можешь выбирать).
В PHP вместо echo или include будешь рендерить шаблоны через Twig.

1. Установка Twig

composer require "twig/twig:^3.0"

2. Базовая настройка
Создай структуру проекта:
text
/ваш_блог/
├── composer.json
├── index.php
├── templates/ <-- Тут шаблоны
│ ├── header.twig
│ ├── index.twig
│ └── footer.twig
└── vendor/ <-- Автозагрузка классов (создаст Composer)

// Файл index.php (основной роутер)
<?php
require_once 'vendor/autoload.php';

// 1. Настройка Twig
$loader = new \Twig\Loader\FilesystemLoader('templates/');
$twig = new \Twig\Environment($loader);

// 2. Передача данных в шаблон
$data = [
    'title' => 'Мой блог',
    'posts' => [
        ['id' => 1, 'text' => 'Привет, Twig!'],
        ['id' => 2, 'text' => 'Второй пост'],
    ],
];

// 3. Рендеринг шаблона
echo $twig->render('index.twig', $data);
//Файл templates/index.twig
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>

    {% for post in posts %}
        <div class="post">
            {{ post.text }}
        </div>
    {% endfor %}
</body>
</html>

5. Плюсы Twig Безопасность: Автоэкранирование переменных ({{ text }} безопасно, даже если там script).
Чистый код: Логика (PHP) отдельно, вёрстка (Twig) отдельно.
Кэширование: Twig компилирует шаблоны в PHP для скорости.

Комментарии

Пока нет комментариев. Будьте первым!

Оставить комментарий

← Назад к списку