Говорят, что создание сайта - очень длительный и трудоемкий процесс. Мы скажем - НЕТ! Ведь с новыми технологиями, такими как HTML5, CSS3, PHP и MySql можно быстро и легко научиться создавать сайты любой сложности.
Два сумасшедших веб-мастера покажут где что лежит и как этим пользоваться.
Авторизация
Новый
Забыл
Пожалуйста, заполните поля выше. Это нужно сделать обязательно, иначе ничего не получится.
PHP Статейки /

Шаблонизатор на PHP своими руками

  • Четверг, 7 октября 2011, 05:28 |
  • Автор: fiamma |
  • Просмотров: 5982 |
  • Комментарии: 10 |
  • В закладки:
Шаблонизатор на PHP своими руками Шаблонизация - один из методов упростить верстальщику жизнь :) Ну или программисту. В данной статье я приведу пример простого шаблонизатора состоящего из одного класса, управляющего файла...

Шаблонизатор (в web) — это программное обеспечение, позволяющее использовать html-шаблоны для генерации конечных html-страниц. Основная цель использования шаблонизаторов — это отделение представления данных от исполняемого кода. Часто это необходимо для обеспечения возможности параллельной работы программиста и дизайнера-верстальщика. Использование шаблонизаторов часто улучшает читаемость кода и внесение изменений во внешний вид, когда проект целиком выполняет один человек.


Исходник данного урока можно скачать здесь: shablonizator.rar [881 b] (cкачиваний: 356)

Подготовка к работе:
Для начала необходимо создать 2-ва каталога:
1. "classes" - каталог для размещения классов
2. "tpl" - каталог для размещения файлов нашего шаблона


После тяжелого "трудового будня" у меня получилось что-то вроде этого:
Шаблонизатор на PHP своими руками

Разбор полетов:
В корневом каталоге создаем файл index.php и размещаем в него сл. код:
<?php
define("ROOT", dirname(__FILE__));
include_once(ROOT . "/classes/tpl.php");

$title = 'ЭЭттоо титЛЛЛЛЛЛЛЛЛ';

$mytmp = new tpl;
$header = $mytmp->tpl_load('header');

$html = str_replace('{title}', $title, $header);
echo $html;
?>


Теперь заходим в ранее созданный каталог tpl и создаем файл header.tpl со сл. кодом:
<html>
    <head>
        <title>{title}</title>
    </head>

    <body>
        <h3>{title}</h3>
    </body>
</html>


В каталоге с классами (я думаю, что вы сами его найдете) создаем tpl.php c кодом:
<?php

class tpl {
    
    function tpl_load($tmpname) {
        
        if( !file_exists(ROOT . '/tpl/' . $tmpname . '.tpl') ) exit("Ой Ошибочка!!!");
        return file_get_contents(ROOT . '/tpl/' . $tmpname . '.tpl');
        
    }
}

?>

А теперь поподробнее...

Наверное, самая главная часть данной заметки - класс tpl.php
Для начала нам необходимо объявить константу с корневым путем, то есть путем к серверу, после чего подключить класс шаблонизатора.
Все это добро делается в 2-ух строках:
define("ROOT", dirname(__FILE__));
include_once(ROOT . "/classes/tpl.php");


Он состоит всего лишь из одной функции, которая проверяет на наличие файл шаблона и при его наличии подключает его.
if( !file_exists(ROOT . '/tpl/' . $tmpname . '.tpl') ) exit("Ой Ошибочка!!!"); //Проверяем на наличие. Если файл не найден, то выходим из программы.
        return file_get_contents(ROOT . '/tpl/' . $tmpname . '.tpl');//Если файл существует возвращаем содержимое данного файла

После этого мы создаем объект класса tpl и заменяем {title} на $title

Немного позднее, я попробую развернуть данную тему и написать более подробный класс шаблонизатора. А пока это все... До новых встреч

Наши партнеры - «RekaMotors» - предлагают Вам широкий ассортимент лодочных моторов от лучших мировых производителей.
  • Пишет: Юрий (Гости) |
  • Сообщений: 0 |
  • 28 января, 22:01
  • #1
Немного позднее, я попробую развернуть данную тему и написать более подробный класс шаблонизатора. А пока это все... До новых встреч.
Немного позднее это когда?
Добавить комментарий