![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk Страницы: (13) Все « Первая ... 6 7 [8] 9 10 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]() ![]() ![]() |
|
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Не согласен. Шаблоны не обязательно нужно верстальщику. Шаблоны нужны просто для грамотного вывода. Разделить вывод страницы на отдельные этапы - это кстати для аякса очень важно, т.к. там происходит обновление фрагментов страницы. В сложных проектах очень сложная логика и я считаю, что эта логика должна быть максимально очищена от задач не связанных с ней - например шаблонизацией. Отсюда можно сделать вывод, что задача вывода должна быть вынесена в другой слой. Я выношу её в шаблонный слой, т.к. часто сталкиваюсь со сложной шаблонизацией. Если стоит проблема неграмотного дизайнера, то тут имхо можно создать промежуточный слой между данными скрипта и шаблонизацией. Этот слой как раз и будет заниматься приготовлением. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
так и не понятно почему.
ну не знаю как где, а у нас именно ему и нужны. поскольку его работа - интеграция его верстки в систему с помощью шаблонизатора, который мы(программисты) ему предоставляем. а это вообще из другой темы. и шаблоны тут не причем. |
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
||||
|
||||
webaliser |
|
||||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 15.12.2007 Репутация: нет Всего: нет |
Шаблонизаторы... PHP, как супер-шаблонизатор(по мнению SamDark )
А приврати ка, SamDark, древовидное редактируемое 3х уровневое меню Шаблон:
Вот во что-то типа такого:
.....................Тут мы код обрежем.............. Результат в полном виде можно увидеть сдесь Бесшаблонизатрный подход важен там, по моему мнению, где нужна сверх скорость и ничего в алгоритме вывода и шаблоне вывода не будет менятся. Так как вывести шаблонизатором 10000-20000 записей из базы и построить их - это большая нагрузка... Шаблонизатор и его отсутствие - это как MS Office 2007(Win) и vi(Linux). Чем проще механизм, тем быстрее и бесглючней он отпашет p.s. Памятник погибшим товарищам, просмотревшим мой код до конца ![]() |
||||
|
|||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Для сверхскорости можно во первых не использовать php, а если всё-таки зацепило за него намертво, то можно ускориться кешированием и прочими ухищрениями. Но экономить на удобстве не нужно. |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Интересный топик.
webaliser, а кто говорит о бесшаблонном подходе? При чем здесь вывод 10000 записей? Даже 1000 выводить нет смысла. Задавать вопросы "а вот построй-ка на {имя шаблонизатора}" не имеет смысла. Все шаблонизаторы имеют примерно одинаковый функционал. За исключением применяемого тобой блочного, когда для изменения вывода надо лезть глубоко в код. |
|||
|
||||
webaliser |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 15.12.2007 Репутация: нет Всего: нет |
Daevaorn, Я бы с удовольствием сэкономил бы... если бы знал где?! PHP4+MySQL - это все что мона юзать
![]() |
|||
|
||||
Feldmarschall |
|
||||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
webaliser, ты просто не понимаешь, что PHP - это не "басшаблонный подход", а просто еще один из шаблонизаторов.
В обсуждении такой сложной темы, как шаблоны, важно, на мой взгляд, соблюдать два очень выжных правила. 1. Не путать понятия. Очень многие люди называют шаблоном только свой движок, а остальное- "лапшой". Очень многие заблуждаются в том, что в шаблоне нет логики. Оень многие думают неправильно, что задача шаблонизатора - это разделить "код" и "PHP" и что верстальщик - единственный, для кого делается шаблон. 2. Не искать единственный идеальный вариант на все случаи жизни. Это вообще ко всем спорам относится. У твоего - блочного - шаблона есть плюсы и есть минусы. Он - да, самый простой для понимания. Но и самый сложный для изменения. Поскольку для смены логики шаблона придется лезть в код. Я не говорю, что это ужасно. Это просто факт. Ещё один факт состоит в том, что нельзя разделить работу верстальщика и программиста. В шаблонах с логикой единственным посредником между верстальщиком и программистом является набор данных. А в твоем шаблоне это ещё и логика их вывода. Если на пхп написано
А в твоем случае
непонятно, что означает этот curpage - условный переход? цикл? рекурсию? Я не говорю, что это плохо. Это факт. У блочных шаблонизхаторов есть зато большой плюс - можно красиво организовать рекурсию. С логическими это pain in the ass. В общем, у всякого свои недостатки, как говорил один киногерой. |
||||
|
|||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Feldmarschall,
PHP, пожалуй, лучший шаблонизатор, он обладает большими возможностями и свободами. В этом как ни странно, и его минусы. Для составления шаблонов на php надо иметь четкую организацию и представление как будут выглядеть блоки, а так же следить, чтобы объявлялись необходимые для работы переменные. Что-то из этого не уследил - гора нотисов, и неправильно отображенная страница. Здесь вижу плюс XSLT и smarty, места, где они связаны со скриптом четко видны (через сбор XML и методы, соответственно). Так что они мусора просто не нагребут. Думаю за это их предпочитают. Т.к. не надо думать, просто возьми и делай шаблоны, за тебя уже подумали.. Правда благодаря этому не ты управляешь скриптом а шаблонизатор, следовательно, все это не совсем оптимально и не оптимизируется больше определенного уровня. Это сообщение отредактировал(а) flashaa - 17.12.2007, 00:28 |
|||
|
||||
Feldmarschall |
|
|||
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Неправильно отображённая страница - из-за нотисов? Так мы вывод ошибок в аутпут отрубим нафиг, и все.
Я, бы, скорее, в минусы записал потенциальную опасность шаблона для приложения. Со Смарти и ХСЛТ не всё так просто. К сожалению, слишком часто в этом мире вещь выбирается не из-за реальных потребительских качеств, а из-за неверных представлений о ней. Смарти часто выбирают в совершенно искреннем стремлении отделить "PHP от HTML", избавиться от "ужасной лапши". Учитывая возможности смарти по части логики.... не удивляешься вопросам, как из неё работать с БД! Вообще, я для себя решил, что работать на какого-то "дизайнера" - самая дурацкая причина делать шаблон. Куда важнее, с точки зрения программиста, уметь - вывести сообщение об ошибке вместо контента, сохранив дизайн сайта. - иметь возможность выводить несколько вариантов отображения, просто меняя шаблоны. - иметь возможность обновлять движок, стоящий на разных сайтах (это вообще высший пилотаж, и попытка сделать такое быстро выкидывает из головы все глупые фантазии о шаблонах и оставляет только действительно дельное). |
|||
|
||||
SamDark |
|
|||
![]() Добрый кот ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1424 Регистрация: 25.7.2006 Где: Voronezh Репутация: 10 Всего: 38 |
webaliser,
Кто ж так меню делает? Списками его надо... тогда проблемы не будет. -------------------- rmcreative.ru — Это жжж неспроста... yiiframework.ru — О фреймворке Yii на русском. reggi — здесь я регистрирую домены |
|||
|
||||
CyClon |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Шаблонизаторы с встроенным компилятором шаблонов и кэшированием показывать очень неплохие результаты. Компиляция производиться только один раз - после изменения шаблона (компиляция - перевод шаблона в PHP-код, то бишь строка "<title>{TITLE}</title>" будет переведена в "<title><?php echo $tpl->getVar('TITLE'); ?></title>"). Кэширование так же дает огромный прирост в производительности. Я просто в восторге, когда вижу красивый код. Соотвественно я за шаблонизаторы. Я все еще живу идеей написать свою идеальную CMS/CMF. Когда я начал ее осуществлять, первым делом написал простейший шаблонизатор, который удовлетворяет 80% моих потребностей, правда еще далек от идеала и не имеет реализации компилятора/кэша. Сам шаблон выглядит максимально понятным для верстальщика.
Сам шаблонизатор:
Использование:
|
||||||||
|
|||||||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
CyClon, ваш шаблонизатор мне здорово напоминает CodeCharge Studio
|
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: 3 Всего: 4 |
Первый раз о таком слышу
![]() Добавлено через 1 минуту и 44 секунды Да и шаблонизатор мой - только каркас, написанный за 30 минут ![]() ![]() |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: 13 Всего: 16 |
sTa1kEr, насколько я понимаю, все "блочные" шаблонизаторы похожи один на другой. На php_templates, XTemplate и множество других. Недавно на этом форуме пробегал точно такой же. Идея-то очевидная. Так что искать отдельные совпадения не имеет смысла, имхо =)
CyClon, "без компиляции нерационально" - это заблуждение. Миллионы РНР скриптов рабтают без компиляции и кеширования. И прекрасно работают. Как я уже не раз говорил, работа с шаблоном - далеко не "бутылочное горлышко" веб-приложения. Конечно, самопальные шаблонизаторы на регулярках отстают по скорости от модулей на С и шаблонов на РНР, но не настолько, чтобы в первую голову заботиться об их производительности. Так что, вполне можно пользоваться и этим "каркасом" =) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |