Встраивание PHP в HTML-разметку. Как разделить программную логику и шаблоны?

встраивание php в html-разметку. как разделить программную логику и шаблоны?

Принципы формирования разметки

Изначально PHP разрабатывался для встраивания в HTML и выполнения простейших задач шаблонизации. Как правило, всё сводилось к тому, чтобы сделать запрос в базу данных, произвести легкие вычисления и вернуть результат. Такие типовые задачи позволяли смешивать программный код и разметку в одном файле. Однако PHP вырос в очень мощный и многофункциональный инструмент. Современные приложения, написанные на нем, имеют большой объём программного кода, что требует разделения шаблонов и логики обработки данных.

Существует несколько подходов к формированию результирующей HTML-разметки. Например, можно использовать оператор echo. Как вы уже знаете, строка, помещенная справа от него, будет добавлена к выводу скрипта. HTML является текстовой информацией, поэтому в строку можно встроить последовательности тегов. Браузер обработает её и покажет пользователю. Такой подход очень прост, но в большинстве случаев недопустим.

/*
* Функция проверки введенного пароля и формирования ответа.
*/
function checkAuthorization($password) {
    //Если пароль идентичен проверочному слову, показываем
    //приветствие. Иначе выводим текст предупреждения.
    if ($password === 'Tlsafk@aks24') {
        echo "
            <div>
                <h3>Добро пожаловать</h3>
                <p>вы вошли как администратор</p>
            </div>
        ";

    } else {
        echo "
            <div>
                <h3>Введен некорректный пароль</h3>
            </div>
        ";
    }
}

//Вызов функции с корректным паролем
checkAuthorization('Tlsafk@aks24'); //Результат: приветствие

//Вызов функции с некорректным паролем
checkAuthorization('wrongPassword'); //Результат: предупреждение

Встраивание кода в шаблоны

Большие шаблоны, имеющие множество элементов разметки, неудобно обрабатывать с помощью оператора echo. В таком случае используется другой подход. При изучении базового синтаксиса PHP были рассмотрены открывающие и закрывающие теги вызова интерпретатора, а также способ их встраивания в HTML. Это является ключевым моментом в данном вопросе.

Урок о подключении внешних файлов раскрывает механизм использования дополнительных скриптов. Вы можете составить разметку в отдельном файле с расширением .php и подключать его в нужный момент с помощью оператора include.

Таким образом, можно разделить базовую программу и логику обработки шаблона. Отдельный скрипт производит все необходимые операции с данными, подготавливая их к встраиванию. Затем подключается внешний файл с разметкой, который будет иметь доступ к подготовленным переменным.

Пример демонстрирует принцип работы такого подхода. Для его запуска нужно создать два файла: index.php и template.php. Разместите их в одной директории и заполните программным кодом, приведенным ниже.

Содержимое файла index.php

<?php

//Формируем массив, содержащий список услуг.
$ordersList = [
    [
        'description' => 'Закупка строительных материалов',
        'price' => 250000,
        'id' => 230565
    ],
    [
        'description' => 'Внутренняя отделка здания',
        'price' => 120000,
        'id' => 230789
    ],
    [
        'description' => 'Составление проекта ландшафта',
        'price' => 180000,
        'id' => 247752
    ]
];

//Перебираем массив с подключением шаблона.
foreach ($ordersList as $order) {
    include 'template.php';
}

Содержимое файла template.php

<!-- Данный шаблон будет иметь доступ к переменной $order -->
<div>
    <h3>Номер заказа: <?php echo $order['id'] ?></h3>
    <p>Описание: <?php echo $order['description'] ?></p>
    <p>Стоимость: <?php echo $order['price'] ?>.руб</p>
</div>

Заметка
В примере файл с разметкой имеет расширение .php, но это не обязательное условие. Настройки вашего веб-сервера позволяют указать, какие файлы передавать на выполнение интерпретатору. Вторым популярным и доступным по умолчанию расширением является .phtml. Его принято использовать для шаблонов.

Последние публикации