Перейти к содержимому

Сервис обмена электронных валют


Шаблонизатор PHP

#31 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 04 Ноябрь 2009 - 08:26

и чем ваш пеример лучше этого?

<html>
<head>

</head>
<body>
<table width="100%">
<tr><td colspan="3" align="left"><img src="logo.gif" alt="logo" /></td></tr>
<tr>
<td width="250"><?php include('left.php');?></td>
<td><?php include('up.php');?><br /><?php include('module.php');?><br /><?php include('down.php');?></td>
<td width="250"><?php include('right.php');?><td>
</tr>
<tr><td colspan="3" align="left">Copyright 2009 by SuperMan</td></tr>
</table>
</body>
</html>


и как будут подключаться в вашем случае вложенные блоки?
  • 0

#32 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 04 Ноябрь 2009 - 23:27

Так же, как и заменяются теги. А ваш вариант мне не нравится мудреностью тегов. Не люблю, когда слишком много кода. А тут его уже достаточно много.
  • 0

#33 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 04 Ноябрь 2009 - 23:31

не убедили? в вашем случае <?php include('module.php');?> == <%modules%> смысл?
  • 0

#34 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Ноябрь 2009 - 00:19

Тоесть вы считаете, что для пользователя, который не знает программирования вообще, будет проще запомнить ваш вариант чем мой, или равнозначно? Я вот например точно знаю, что будь у меня мало навыков, я замучился бы с ошибками в вашем варианте. А как модули собираетесь присоединять? А заголовки отправлять?
  • 0

#35 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 05 Ноябрь 2009 - 10:23

:) но даже в smarty усть похожая команда inc, потому ваш довод не совсем раскрывает тему шаблонизатора ;)
  • 0

#36 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Ноябрь 2009 - 13:53

А довод Заголовков как? =)
  • 0

#37 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 05 Ноябрь 2009 - 14:04

что такое заголовки?
  • 0

#38 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 05 Ноябрь 2009 - 16:00

Все, что передается с помощью оператора Header. Так же Сессии. Графическое построение. Поэтому я считаю, что лучший вариант, когда шаблон обрабатывается с помощью парсера и заменяет теги, а не просто в коде HTML Используются присоединяющие конструкции. =)
  • 0

#39 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 05 Ноябрь 2009 - 16:38

не очень грамоздко? на php пишем для того чтоб перевести в php
  • 0

#40 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 05 Ноябрь 2009 - 17:03

sc2r2bey,
1) Простейший Шаблонизатор(как в нашем) сделан именно для того чтобы упростить жизнь дизайнерам. Если заставить дизайнера учить конструкции языка, а у него склад ума совсем в другом направлении работает... Да он быстрее от вас убежит, чем изучит. Во-вторых, подобные конструкции чётко связывают имена файлов с вставками. В-третьих, вы показали пример подключения файла,а если вам надо просто вывести данные из базы... Подключая таким способом файлы, вы усложните работу дизайнера, так как он четко не может для себя уяснить, а что же делает эта вставка... Ведь если нам к примеру надо вывести 50 записей из БД, мы обработаем 50 раз один и тот же шаблон(он будет выступать как зримая единица). А если вы захотите сделать то же самое с включением файла? Вы же утаите от дизайнера главное, оформление кода.

2) Как уже сказал gaaarfild упрощается работа с заголовками. Ведь все заголовки всегда должны быть переданы до любого вывода на экран. А если вы пишите большой проект, где всё так запутано, один файл подключается в 20 строчке, другой в 100, а третий вообще в конце файла. И таких файлов около 10 и они все подключаются в другие файлы. И если вы случайно в одном из этих файлов сначала выведете хоть один символ на экран, передать заголовки будет уже невозможно. Если же вы попытаетесь это сделать, интерпретатор PHP выдаст ошибку.
Другое дело с нашими шаблонами, мы формируем нашу переменную $html на всём протяжении сборки скрипта и выводим переменную в самом конце, когда все заголовки уже гарантированно будут переданы.
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru