Помогите разобраться с циклом

1 2345 6
М
На сайте с 08.02.2006
Offline
59
#21
В этом то и суть MVC

neolord, Суть MVC не в этом

[Удален]
#22
Здыхлик:
{TITLE} - Это псевдокод, но мне лично это без разницы, смешивание верстки и кода присутствует (особенно когда Вы начнете применять циклы).
Не вижу абсолютно никакого смысла в том, чтобы писать дополнительный парсер для шаблонов, если имеется native-возможность вывода шаблона с подстановкой переменных. В общем-то это холивар и он на нас с Вами не закончится :) Вообще не понимаю, с чего такое неприятие вывода HTML интерпретатором вне самого скрипта? Чем оно обосновано? Чем include() шаблона хуже, чем file_get_contents()+echo()?

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

Код - это то что исполняется интерпретатором PHP. <?=$var?> является таковым.

Все остальное, в т.ч. {TITLE} - НЕ КОД. Назовите хоть псевдокодом, хоть смарт-тегом, хоть квазитекстом. И суть в том, что смешивать КОД и не КОД в одном объеме данных, который вы подсовываете интерпретатору - полное и беспросветное быдлокодерство.

ЗЫ. неприятие вывода... это я говорил про cgi. файл в котором будет "<body><?include "content.php"?></body>" просто не обработается и выдаст ошибку.

З
На сайте с 24.04.2008
Offline
54
#23

Код - это инородные вставки в HTML-шаблоне. Псевдо- или нет, но это так. TITLE очень удобный для Вас пример, попробуйте назвать НЕкодом что-то типа {BEGIN FOR} или как там это в шаблонах описывается.

Давайте не будем большую часть php-программистов теперь быдлокодерами называть :)

Native-шаблонизаторы чрезвычайно популярны, не надо так говорить.

Далее... С чего Вы взяли, что интерпретатор вообще обращает внимание на HTML? Он его просто выплевывает дальше, не так ли?

Ну и напоследок... Часто ли Вы встречаетесь с CGI-модулем php, чтобы только из-за него отказываться от встроенных возможностей php?

PS. Добавлю еще раз, на всякий случай - в шаблоне НЕ происходит бизнес-логики, извлечение данных из внешних источников или еще что-то. Только отображение, максимум - проход по циклу и проверка на существование. MVC тут никаким образом не нарушается (если конечно не быть полным идеалистом, но такие ничего не создают, они критики).

N
На сайте с 06.05.2007
Offline
419
#24
И суть в том, что смешивать КОД и не КОД в одном объеме данных, который вы подсовываете интерпретатору - полное и беспросветное быдлокодерство

neolord,если следовать вашей терминологии, это утверждение - хабрадурь и миф, культивируемый менеджерами проектов. Зачем вы им верите на слово? С их точки зрения, основной плюс разделения шаблонов - не позволить верстальщику сломать весь проект кривым КОДОМ.

Ну а индивидуальному разработчику оно зачем? Он специально не сломает. Он смотрит на <?=$text?> и видит ШАБЛОН, совершенно не мешающий проекту развиваться и выдающий несравнимую производительность совместно с php-акселератором.

Кнопка вызова админа ()
[Удален]
#25
Здыхлик:

Давайте не будем большую часть php-программистов теперь быдлокодерами называть :)

Не хочу вас расстраивать, но так оно и есть на самом деле. Именно потому что язык легок в освоении и все начинают бросаться на его встроенные возможности, не утруждая себя мыслями о том, как бы сделать удобнее для всех, пусть написав чуть больше кода. Потому что цели преследуют не те. Смарти - неудобен. Факт. Другие компилирующие шаблонизаторы тоже. Потому что просто верстальщик не может взять и насадить сайт на CMS, нужно быть программистом - это в корне неправильный подход в разработке CMS (10 программистов 3 года писали, и все равно нужен еще один чтобы сделать несчастный сайт). Если говорить о "скриптах одного дня" - повторюсь, можете делать что угодно. Надеюсь на этом наш спор закончен.

З
На сайте с 24.04.2008
Offline
54
#26

Откуда у Вас такие мысли-то взялись? С чего вдруг я мешаю дизайнеру менять верстку? Если все понятно, HTML я сам не генерирую, все там и интуитивно понятно...

И вообще, приведите пример "правильного" шаблона, только с ветвлением и циклами, как в жизни. А то критиковать и я могу.

[Удален]
#27

Верстальщику, а не дизайнеру ;)

Ветвления и циклов в правильном шаблоне быть не должно. Потому что ни дизайнер ни верстальщик в большинстве случаев не знают этого. Иначе не было бы на этом форуме топиков "нужна верстка под <подставить нужное>". Это рождает сумятицу, дифференциацию среди верстальщиков, когда даже самый талантливый верстальщик не может, не убив пару дней, натянуть свой макет на вордпресс, если он не знаком с этой системой. Это неправильно. И до тех пор пока все будут делать так, будет куча неудовлетворенных верстаков, потому что они то себя оценивают лучше чем просто верстаки - они же знают вордпресс - но они же при этом не знают джумлу (грубо говоря). Задача разработчика софта, если он это делает не для себя, - сделать свой продукт максимально дружелюбным для внедренцев, не заствляя их превышать свои полномочия, все циклы и ветки должны обрабатываться движком - на то вы и программист. Если вы хороший программист, вы придумаете как обойтись без "псевдокода" в шаблоне. В частности, вопрос использования циклов в шаблоне у меня даже как-то никогда не возникал, хотя, если вы посмотрите в мою подпись, вы поймете, что сталкиваться с ними мне приходилось. Насчет условий тоже есть пара идей, и думаю можно придумать еще миллион.

Givandos
На сайте с 25.06.2007
Offline
33
#28

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

А общем, neolord, суть в том, что в любом случае верстальщик или же должен знать основы php (если система на php), или же не трахать себе мозг, а идти работать лифтером, потому как если он увидит в коде шаблона {TITLE}, он при любых потеряется, ведь такого нет ни в одном учебнике по HTML.

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

[Удален]
#29
Givandos:
Да в любом случае если выводить что-то циклом, то или в самом шаблоне будет он (цикл) или цикл будет "собираться" в отдельном файле, и попадет в шаблон уже "укутанный" в html-теги или же будет отдавать из шаблона команды в шаблонизатор для подстановки значений и все такое.
А общем, neolord, суть в том, что в любом случае верстальщик или же должен знать основы php (если система на php), или же не трахать себе мозг, а идти работать лифтером, потому как если он увидит в коде шаблона {TITLE}, он при любых потеряется, ведь такого нет ни в одном учебнике по HTML.

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

вы тоже как-то близко все воспринимаете. Верстальщик не должен знать основы php (вдруг ему придется верстать под движок на JSP, там вообще логика другая=)). Ну и быдлокодинг не имеет ничего общего с быдлом, это просто устоявшееся выражение.

Ну у меня в цмске например шаблон ссылки задается отдельным файлом, по дефолту там


<a href='{:CMS_LINK:}'>{:CMS_LINK_TITLE:}</a>

, можно в конец бр добавлять или что там еще надо

а само меню в любоме место вставляется


{:CMS_SUBLINKS:NODE=откуда ссылки:COUNT=количество:TPL=имя шаблона:}

могут быть другие параметры, ну и все они необязательны.

вообще если интересно, пишите мне в аську, пообщаемся, итак топик зафлудили

N
На сайте с 06.05.2007
Offline
419
#30

neolord, представьте себе : вы обыкновенный японский верстальщик. ваш начальник-сан заключил контракт на разработку шаблона для дебильнейшего, но популярного движка. Дизайнер решил выделить пункты прайс-листа тремя чередующимся цветами. Использование КОДА ( чего угодно изменяющего логику работы и дающего побочные эффекты навроде $c++ ) - строго порицается корпоративной этикой и начальником лично. Изменить продукт нельзя, потому что он не ваш.

Ваши действия ? :)

ps Катана для харакири в левом ящике стола.

1 2345 6

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий