Регистрация
DANFA Сближает людей!

Шаблоны в PHP


Наверно много кто из Вас отделял 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 charset="utf-8" />
	<title><?=$title?></title>
</head>
<body>
<?=$info?>
</body>
</html>

Если Вам потребуется к шаблону подключить другой шаблон, можете использовать такой код:
<?php include 'header.html'; ?>

в том месте, где надо подключить шаблон.

Вот пока всё!

P.S ещё раз повторю, что это всего лишь пример, для того что бы иметь представление - что же такое шаблон.
Но этот пример можно использовать для написания своего шаблона.
Теги: PHP
Написал(а)
Введите символы с картинки:
Reload Image
Type in the verification code above