Шаблоны в PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2207
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 81 раз

Шаблоны в PHP

#1

Сообщение Slash » Вс янв 26, 2014 8:51 pm

Здравствуйте.
Наверно много кто из Вас отделял html от php в отдельные файлы, ну или хотя бы пытался это сделать, так сказать создавал свой шаблон. Этот пост скорее для тех кто только собирается отделить html от php, а не для тех кто умеет, это всего лишь пример для того, что бы понять что такое шаблон. Шаблоны удобны, если Вы собираете писать движок со сменным стилем, если стиль сайта будет один, то делать шаблон не имеет смысла. Хотя если подумать, то можно найти еще массу плюсов из-за которых делать шаблон стоит.
И так, что же такое шаблон? Шаблон это отдельный от php файл с расширением .html или .tpl (быть может еще с каким ни будь), в котором содержатся html теги и переменные заданные в php. Шаблон можно подключить при помощи функции include() или require_once(), например так:

Код: Выделить всё

include('template.html'); 
или:

Код: Выделить всё

require_once('template.html'); 
Подключать шаблон необходимо в конце php файла, после всех заданных переменных и функций, дабы избежать неопределенных переменных и прочих ошибок.

Создаем переменные примерно так:

Код: Выделить всё

$title = 'Заголовок страницы';
$info = 'Информация о страницы'; 
В шаблоне они выглядят так:

Код: Выделить всё

<?php echo $title; ?>
<?php echo $info; ?>
или так:

Код: Выделить всё

<?=$title?>
<?=$info?>
возможно даже так:

Код: Выделить всё

{title}
{info}
для последнего варианта переменных, придется в php прописывать примерно такую конструкцию:

Код: Выделить всё

$title = 'Заголовок страницы';
$info = 'Информация о страницы';
$tpl = file_get_contents('template.html'); #Получаем содержимое шаблона
#Далее меняем переменные $title и $info на метки {title} и {info} 
$tpl = str_replace('{title}', $title, $tpl);
$tpl = str_replace('{info}', $info, $tpl);
echo $tpl;
Разобрались? Теперь давайте соберём всё в одну кучу, напишем два файла, php файл и html шаблон к нему:
PHP (например: index.php):

Код: Выделить всё

<?php
$title = 'Заголовок страницы';
$info = 'Информация о страницы'; 

require_once "template.html";
?>
Теперь шаблон (template.html):

Код: Выделить всё

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title><?=$title?></title>
</head>
<body>
<?=$info?>
</body>
</html>
Если Вам потребуется к шаблону подключить другой шаблон, можете использовать такой код:

Код: Выделить всё

<?php include 'header.html'; ?>
в том месте, где надо подключить шаблон.

Вот пока всё!

P.S ещё раз повторю, что это всего лишь пример, для того что бы иметь представление - что же такое шаблон.
Но этот пример можно использовать для написания своего шаблона.

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей