[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
twin
MiksIr
Цитата
Но и верстальщики у нас на самом деле уровня Junior-а, да и не верстальщики они, а фронт-енд программисты, так что все-равно теорию программирования изучают, пусть и больше на JS.
Ну вот отсюда все и идет. Вобщем то шаблонизатор, это не инструмент верстальщика. А программисту (пусть фронт-эндеру) может быть удобно использовать его, а может и нет. Все зависит от организации процесса. Но своё святое предназночение (отделить верстку от логики) он не выполняет и верстальщику, как таковому, жизни не облегчает точно.

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

Так что все хорошо на своем месте.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Aeq
я наконец-то осознал, на какую основную нишу людей рассчитаны эти смарти: этакие верстальщики пофигисты, которые прошли курс по смарти/твигу, не желающие ничего больше знать, которых зачем-то заставляют натягивать верстку на движок smile.gif не принимайте близко к сердцу, я не говорю что все такие кто использует смарти/твиг, естессно всегда есть люди которым просто приглянулась та или иная библиотека biggrin.gif
linker
Цитата (MiksIr @ 8.01.2014 - 16:35)
Цитата (Aeq @ 8.01.2014 - 17:20)
ИМХО, совершенно бессмысленное действо, т.к. лишние пробелы ужмутся гзипом на ура.

Причем тут gzip, эти пробелы мешаются с точки зрения верстки.

С точки зрения HTML лишние пробелы вообще игнорируются.

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
И вы реально думаете, что вот эти краказяблы
<table>
{% for row in items|batch(3, ' ') %}
<tr>
{% for column in row %}
<td>{{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>

каким-то образом должны облегчать труд верстальщиков? Т.е. смотря на это версталь совершенно не задумывается ни о программировании, ни о логике и вы в этом уверены?

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
Ну так и скажите, что: "В нашей конторе работают программисты-верстальщики, которые за бабки, вместо того, чтобы готовить валидный HTML по графическому макету, который предоставил им дизайнер, программируют на подменённом языке программирования twig, smaty и фигачат тоже самое, что может делать обычный программист на нативном php".

_____________
Gear Framework
Gear Framework на Github
linker
MiksIr
К сожалению за меня уже ответили на ваш вопрос, а повторяться не имеет смысла.

_____________
Gear Framework
Gear Framework на Github
twin
Цитата (MiksIr @ 8.01.2014 - 14:43)
2 twin

Шаблонизаторы не предназначены для отделения логики от отображения, кто это сказал.

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


А вообще это первый довод приверженцев в подобных холиварах. Я в них раньше часто со всем пылом и жаром участвовал. biggrin.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Aeq
вот в этом соглашусь с MiksIr. Да и в вики прально написано "представление данных", т.е. контроллер собирает для представления данные, но не данные предварительно подготовленные/преобразованные для представления. представление должно само решать как конкретно эти данные представить: логика разбивки на колонки, логика эскапирования, логика приведения таймстампа к нужному формату и прочее прочее - это все задачи представления данных, а не контроллера.
linker
Aeq
Цитата
логика приведения таймстампа к нужному формату

Это хорошо, если программер и версталь договорились, что в шаблон пойдёт unix-timestamp, а если программер изменил код или изменил в таблице тип столбца. Должны быть чёткие договорённости и самая тесная связь версталь-программер, один должен помнить, что версталь требует unix-timestamp, а версталь должен вникать в работу программера, чтобы знать кому вставить пистон, если вместо даты фигня выводится. И таких
Цитата
и прочее прочее
полно.

_____________
Gear Framework
Gear Framework на Github
linker
Мало того, раз речь идёт о фреймворках, то от ООП никуда не денешься, а значит кроме того, версталь должен шарить в моделях.

_____________
Gear Framework
Gear Framework на Github
Aeq
linker
тоже верно. получается граница между контроллером и шаблоном плавающая, и должна устанавливаться нужным образом в конкретном проекте в зависимости от навыков прогера и верстальщика. если верстальщик послабее, то прогер будет "помогать" ему в контроллерах, если верстальщик прошареный, то прогер будет писать контроллеры тонко, оставляя больше свободы на шаблоны.
twin
Цитата (MiksIr @ 8.01.2014 - 15:28)
Есть бизнес-логика, есть логика представления. Когда говорят о разделении - говорят о бизнес-логике. Логика представления (банальные вещи вида - разбить массив на три колонки) - она остается с представлением всегда.

Не всегда, есть вариант, когда в шаблонах вообще нет логики. Никакой. Я как раз такую схему использую. :)

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

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

Да, шаблонизаторы с тех пор, дабы хоть как то оправдать свое существование, обросли всякими фишками и приблудами плана компиляции, кэширования, наследований, всяких макросов и прочая-прочая. Собственно перетянули на себя одеяло, взяв часть функционала PHP. Кому то это кажется удобным, кому то нет, спорить глупо. Всё зависит от "воспитания". :) Собственно это уже не вызывает споров, теперь шаблонизаторы позиционируются как "удобные" инструменты, позволяющие то, сё и многое другое.

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

А вот что ни говори, PHP может все, что может шаблонизатор. Но не наоборот. Да просто потому. что сами шаблонизаторы на PHP и написаны.

Документация - ну да. Большой плюс. Как и защита от дурака... Наверняка это очень полезно при текучке и низкой квалификации кадров. Тут спорить глупо, это реальное подспорье.

Опять же как построен процесс и как эти самые кадры используются.

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

<table width="50%" height="200px" border="1">
{% for row in items|batch(3, ' ') %}
<tr>
{% for column in row %}
<td>{{ column }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>


а потом такой:
<table width="50%" height="200px" border="1">
<?php for(...){ ?>
<tr>
<?php for(...){ ?>
<td><?php $column ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>


Не, я конечно понимаю, сейчас вы скажите, да кто мол будет открывать шаблон по физическому пути? А вот как раз верстальщики именно это зачастую и делают. Верстальщики, повторюсь. У которых и сервер то не всегда есть за ненадобностью. Ибо верстка, это статика. Газета. Трекинг и кернинг.

Так вот одна из фишек нативного синтаксиса это то, что вот это: <?php ?> - обычный тег. И браузер его на экран не тащит и на верстку они не влияют. А значит верстальщику проще поправить верстку, ему эти логические вставки практически не мешают. В отличие от.

Но конечно, если версткой занимаются программисты (пусть фронт-эндеры, не суть), тогда на это не стоит обращать внимания. Они пользуются тем, к чему привыкли. Так же, как и к фреймворкам и многим другим приблудам, которые вызывают столь бурные дебаты.

Еще раз говорю, хороша ложка к обеду. Кому то это кажется круто, кому то излишеством и геморроем. Каждый прав по своему.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

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