Воскресенье, 2025-07-06, 3:57 PM
IT Worlds
Приветствую Вас Гость | RSS
Главная Регистрация Вход
Меню сайта

    Категории раздела
    OS [20]
    Железо [4]

    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Форма входа

    Главная » 2008 » Февраль » 18 » Шаблоны в PHP для чайников
    4:40 PM
    Шаблоны в PHP для чайников
    Шаблоны в PHP для чайников

    И снова здравствуйте. Давно я как-то не писал ничего путного, даже как-то самому неприятно. Так что сразу к теме. Давайте, товарищи умники, забудем такие слова, как XML, XHTML и прочий X…, и поговорим о вещах, приближенных к реальности.

    Сужествует такая «проблема», как разделение оформления и содержания, и отделение исполняемого кода от получаемого html’я. Мухи — там, котлеты — тут. Грубо говоря, программист программирует, дизайнер дизайнит и никто никому не мешает жить. А если надо поменять что-то в оформлении, то сделать это сможет один оформитель, сиречь дизайнер, самостоятельно.

    PHP хорош (хорош, собака!) тем, что позволяет встраивать исполняемые конструкции прямо в html. Плюсы понятны. Минусы, например: довольно сложно менять оформление в таком коде: echo "<b>".$boldtext."</b>"; Глупый дизайнер испугается и убежит, а умный программист скажет «я вам не глупый дизайнер, чтобы ерундой заниматься».

    Чего хочется в идеале? Чтобы была html-страница, где все, как у людей: здоровые, полноценные html-тэги, а в тех местах, где выводится информация, стояли специальные, простые, понятные как для верстальщика, так и для движка/программиста указатели.

    То есть, что-то вроде такого:

    <html>
    <title>[TITLE]</title>
    <body>
    [TEXT]
    </body>
    <html>

    Там, где стоит [TITLE], движок выводит заголовок, там, где [TEXT] — соответственно, текст.

    Легко и просто. И все счастливы. И это правильно. Но! Тут и начинается маразм. Сначала пишется «движок шаблонов», что-то (я утрирую) вроде такого:

    $page = str_replace ("[TITLE]", $title, $page);
    $page = str_replace ("[TEXT]", $text, $page);

    Дальше — больше. Оказывается, что в некоторых случаях этого мало. Нужно больше функций! Например, нам нужно проверять: если [TEXT] пустой, то выводить одно, если не пустой, то выводить другое, то есть, фактически, вводить уже минимальную логику отображения. И мы пишем супер-пупер наророченый язык шаблонов. На PHP. И называем его SMARTASS (Super Mega And Revolutionary Totally Automatized Shablon System).

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

    А теперь потрясем мозгами и хорошенько подумаем, что же у нас получилось. У нас получился фактически язык программирования, написанный на PHP, который можно встраивать в html-код и тем самым менять логику его (html-кода) отображения.

    Поздравим друг друга. У нас получился PHP, написанный на PHP. Велосипед для велосипеда. Осмысление этого придет позже.

    А теперь возвращаемся к первому примеру.

    <html>
    <title>[TITLE]</title>
    <body>
    [TEXT]
    </body>
    <html>

    Помните? Сравним его со следующим примером и попробуем найти кардинальные различия.

    <html>
    <title><?=$title?></title>
    <body>
    <?=$text?>
    </body>
    <html>

    Чем он кардинально отличается? Ни чем. Глупый верстальщик поймет, если ему сказать «нужно вставить переменную text — пиши <?=$text?>». Вместе с тем, это — не что иное, как сокращенная запись оператора echo. И никакого интерпретатора шаблонов не нужно.

    То есть следующий пример php-страницы выведет все, как надо:


    <?php
    $text = "Это текст";
    $title = "Это заголовок";
    ?>

    <html>
    <title><?=$title?></title>
    <body>
    <?=$text?>
    </body>
    <html>

    Дальше — больше. Выносим все шаблоны в отдельный файл. И пишем просто:


    <?php
    $text = "Это текст";
    $title = "Это заголовок";
    include "template.html";
    ?>

    Идея понятна? В процессе исполнения php-скрипта нужные части выкладываем в переменные. Потом — инклюдим html-файл, где в нужных местах проставлено <?=$имя_переменной?>.

    Верстальщику же, чтобы научиться работать с такими «шаблонами», нужно всего 3–5 минут для ознакомления с основами синтаксиса PHP. И не надо учить какой-то навороченный язык шаблонов, который ему больше никогда не пригодится.

    Ну что плохого в таком вот шаблоне страницы?

    <html><title><?=strtoupper($title)?></title>
    <body>

    <? if ($text==""): ?>
    Текста нет, пусто.

    <? else: ?>
    Введеный текст: <b><?=$text;?></b>

    <? endif; ?>

    </body>
    </html>

    Плюсы — налицо. Для его вывода не нужно никаких дополнительных вещей. Кроме PHP.

    Вот, собственно, и все.

    PS. Уважаемые умники. Данный способ «шаблонизации» действительно покрывает 95% нужд простых смертных. Если вам что-то не нравится — идите, побрейтесь бритвой Оккама.

    Просмотров: 824 | Добавил: amd | Рейтинг: 0.0/0
    Всего комментариев: 1
    div class="alt"> Avatar 2017-05-23 в 1:25 AM AUTscofe написал: Интернет магазин запчастей для автомобилей autocomponent63.ru - это качественные детали, хорошие специалисты и удобность заказа. Потребность купить автозапчасти возникает регулярно, ведь машины изнашиваются по частям. И с этим согласны все собственники автомобилей. Рынок запчастей для автомобилей сегодня – пестр и обширен, с этим также все согласятся. Именно из-за этого подбор запчастей для авто равно как и поиск запчастей по авторазборам может быть непростым. Но не для тех, кто обратился в магазин запчастей для машин autocomponent63.ru. Если Вы ищете автозапчасти для определенных моделей авто, аналоги автозапчастей для иномарок, авторазбор, недорогие запчасти для авто, автозапчасти в Кинеле, запчасти для иномарок Самара – считайте, Вам подфортило. Каталог запчастей для автомобилей на нашем сайте – прост и понятен. Более того, здесь Вы увидите широчайший ассортимент. Единственное, чего чего Вы у нас не увидите – это б/у запчасти и детали сомнительного происхождения, поскольку мы гарнтируем качество. Не нужно больше спрашивать у поисковика, где найти автозапчасти официальный сайт для иномарок, то, что Вы хотели найти – это autocomponent63.ru.
    Запчасти для автомобилей: https://autocomponent63.ru - запчасти для иномарок в кинеле

    Имя *:
    Email *:
    Код *:
    Copyright MyCorp © 2025 Хостинг от uCoz