(no subject)
Jan. 15th, 2009 05:14 pmОхохох. Что ж меня так мотает-то.
Еще год на зад радовался админству, как спасению от программизма.
Теперь вот пишу в охотку, наваял первый в жизни ебутик (при этом уже лет 6 как поучая других. помогло, кстати - писалось как по писаному).
Еще статею бы дописать, по одному из основополагающих понятий в веб-программировании. Последнему, кстати, из не охваченных (базовых. о других я не дорос и врядли когда-нибудь).
Еще год на зад радовался админству, как спасению от программизма.
Теперь вот пишу в охотку, наваял первый в жизни ебутик (при этом уже лет 6 как поучая других. помогло, кстати - писалось как по писаному).
Еще статею бы дописать, по одному из основополагающих понятий в веб-программировании. Последнему, кстати, из не охваченных (базовых. о других я не дорос и врядли когда-нибудь).
no subject
Date: 2009-01-15 03:00 pm (UTC)no subject
Date: 2009-01-15 03:05 pm (UTC)Не, про шаблоны.
no subject
Date: 2009-01-15 03:19 pm (UTC)no subject
Date: 2009-01-15 03:27 pm (UTC)Но вообще хочу больше поговорить о причинах и принципах. Зачем оно нужно, и что из этого следует. Мне не жалко - пусть хоть смарти использует - главное, чтобы он делал это осмысленно, а не по причине "чтобы дизайнер мог править html без PHP"
no subject
Date: 2009-01-15 03:39 pm (UTC)no subject
Date: 2009-01-15 03:43 pm (UTC)no subject
Date: 2009-01-15 05:07 pm (UTC)А у тебя есть сформулированные доводы, зачем тебе нужен шаблон? Очень мне хочется свои подтвердить, а паче того - каких-то новых идей.
no subject
Date: 2009-01-15 05:07 pm (UTC)no subject
Date: 2009-01-15 05:46 pm (UTC)Мне нравится/удобно, что разные задачи — серверная логика и html-рендеринг — описываются на разных языках. Потому что они по сути разные. HTML не надо _программировать_ (js в расчёт не берём), а в коде не надо задавать разметку страницы. И это удобно, когда у них свои собственные синтаксисы и понятия — не возникает путаницы в голове, каждую задачу ты описываешь на том языке, который этой задаче больше подходит. Код — ООП/процедурный, шаблон — декларативный…
В джанговских шаблонах, например, никаких вычислений сделать нельзя — это там принципиальная позиция. Такое насильное отделение логики от шаблона. Подразумевается, что шаблон не должен брать на себя никаких функций модели — от модели можно брать только значения. Если хочется в шаблоне написать {% if body.temperature > 37 %}, то это идеологически неверно, надо писать {% if body.high_temperature %}, а уже “body” сам решит, какая температура для него высокая.
Это _кажется_ сильно ограничивающим, но немного так поработав, понимаешь, насколько же меньше всяких потрохов модели в результате попадает в шаблон. И код становится более логичным и инкапсулированным, потому что ту же high_temperature() можно, оказывается, использовать ещё в куче мест и внутри модели и вне. А иначе (если шаблон позволяет делать вычисления) соблазн по-быстрому всё набросать прямо между html-тегами оказывается слишком велик.
Кроме того, шаблон-движок обычно является достаточно функциональной библиотекой, которая умеет много полезных гитик — фильтры, автоэскейпинг вывода… при желании можно его расширить под свою задачу. Это всё тоже способствует лаконичному и понятному коду шаблона.
УсмотрЪніе
Date: 2009-01-15 07:35 pm (UTC)no subject
Date: 2009-01-16 12:51 pm (UTC)начало в 18.00, вход - свободный
жду!:)