[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Шаблонизатор.
Страницы: 1, 2
IncSW
Доброго времени суток. Давно приглядывался к сему сайту и решил чем черт не шутит надо пообщаться глядишь втянусь. =)

В минувшее воскресенье задался мыслью слепить шаблонизатор простенький. Ну и собственно слепил к вечеру. Вышло что то вроде работающее но возникла пара вопросов.

1) Хорошо ли сохранять в файлы "скомпилированные" шаблоны для последующего чтения без разбора полетов?
2) Все настолько ужасно вышло?

Хотелось бы услышать критику да советы. Синтаксис немного позаимствовал у твига.
Сам исходник прикрепил топику так сказать преальфа. =)
EvilDev
Я бы запуск так реализовал:
$tpl = new Template();
$tpl->set('sdf.tpl', array(
'n6' => 'test n641',
'empty' => '',
...
));
echo $tpl->render();

1. Закомментируй код!
2. Зачем вообще тебе шаблонизатор? Я например юзаю php скрипты, после чего, перед выводом идет оптимизация и кладется в кеш, а шаблонизатор - это лишнее время на парсинг ИМХО

_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
IncSW
Цитата (EvilDev @ 27.02.2013 - 02:20)
2. Зачем вообще тебе шаблонизатор? Я например юзаю php скрипты, после чего, перед выводом идет оптимизация и кладется в кеш, а шаблонизатор - это лишнее время на парсинг ИМХО

То что дополнительно время на парсинг это бесспорно. Но есть несколько "но".
1) Верстальщикам проще когда они видят такие шаблоны нежели php (да и самому на глаз приятней не видеть в шаблоне php-кода).
2) Меня постигла мания полного искоренения кода в шаблонах. И шаблонизатор очевидная прослойка.
bestxp
Сохранение в файлы бесспорно отличный вариант, которые потом уже использовать.
Игорь_Vasinsky
Цитата
1) Верстальщикам проще когда они видят такие шаблоны нежели php


это проблема верстальщиков.
Дизайнеры то не больно думают о верстальщиков - когда охеренные макеты рисуют.

есть альтернативный синтаксис - который вполне адекватно воспринимается верстальщиками

<select name="<?=$nameSelect;?>">

<?php foreach($select as $key=>$option):?>

<option value="<?=$key;?>"><?=$option;?></option>

<?php endforeach;?>

</select>


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
IncSW
Цитата (Игорь_Vasinsky @ 27.02.2013 - 10:49)
это проблема верстальщиков.
Дизайнеры то не больно думают о верстальщиков - когда охеренные макеты рисуют.

Ну с этим конечно не поспоришь. Возможно подействовало то что в офисе вечно приходится с твигом работать. Надо бы снова поразмышлять о php шаблонах.
bestxp
Вообще то на верстальщиков пофиг, верстальщик вообще не должен знать о php , он верстает и отдает макет готовый сверстанный программисту, который уже нарезает и сам натягивает, поэтому по сути я против что бы верстальщики лезли куда не нужно.
Игорь_Vasinsky
Цитата
который уже нарезает и сам натягивает

жалеете вы своих верстальщиков. У нас они верстают сами.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
bestxp
Цитата (Игорь_Vasinsky @ 27.02.2013 - 11:13)
Цитата
который уже нарезает и сам натягивает

жалеете вы своих верстальщиков. У нас они верстают сами.

Скорее каждый делает своё дело. Так уж исторически сложилось, что верстальщики верстают только, а программист точно натягивает, конечно бывает напрягающие моменты когда верстку правят, да могут переверстать, за что отпинать хочется, но как есть. Ну и не было еще в практике такого сверстанного макета который натянуть не реально
killer8080
Цитата (IncSW @ 27.02.2013 - 08:31)
2) Меня постигла мания полного искоренения кода в шаблонах. И шаблонизатор очевидная прослойка.

Шаблонизаторы не искореняют код из шаблона,а тупо заменяют нативный синтаксис, своим костыльным синтаксисом. десять раз подумайте, нужен ли язык в языке? PHP изначально создавался как шаблонизатор, и изобретение шаблонизатра в шаблонизаторе ИМХО полный идиотизм.
Цитата (IncSW @ 27.02.2013 - 08:31)
1) Верстальщикам проще когда они видят такие шаблоны нежели php (да и самому на глаз приятней не видеть в шаблоне php-кода).

верстальщику пофигу какой синтаксис освоить, нативный PHP, или синтаксис шаблонизатора.
SlavaFr
IncSW я могу только присоединится к высказыванию @killer8080

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

_____________
↓↓↓↓↓↓↓↓↓↓
ответ может быть здесь
или в mysql_error();
bestxp
Цитата (killer8080 @ 27.02.2013 - 11:43)

Шаблонизаторы не искореняют код из шаблона,а тупо заменяют нативный синтаксис, своим костыльным синтаксисом. десять раз подумайте, нужен ли язык в языке? PHP изначально создавался как шаблонизатор, и изобретение шаблонизатра в шаблонизаторе ИМХО полный идиотизм.

Ты не прав, шаблонизаторы заставляют нас избавляться от желания в шаблоне делать обращения к бд и прочее что они делать не должны, так сказать заставляют следовать правилу Single Point of Truth принципов SOLID

а вот когда приучишь себя не делать лишнего, уже можно говорить о нативном, но мне кажеться что читать смесь php кода и html не очень поэтому например


{loop $array}
<tr>
<td>
{$name}</td>
<td>
{$birthday}</td>
<td>
{$phone}</td>
</tr>

{/loop}

нежели

<? if(!empty($array): ?>
<?
foreach($array as $key => $value):?>
<tr>
<
td><?=(isset($value['name'])):$value['name']?'' ?></td>
<
td><?=(isset($value['birthday'])):$value['birthday']?'' ?></td>
<
td><?=(isset($value['phone'])):$value['phone']?'' ?></td>
</
tr>
<?endforeach;?>
<?
endif;?>


Везде свои реализации, и порой ой как просто ошибиться пропустив кавычку или что-то еще, нежели это будет автосгенерированный шаблон и который по скорость ничем не будет уступать нативным.А в режиме отладки пофиг на перегенерацию постоянную шаблона

но тут сугубо ИМХО
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.