За последние 24 часа нас посетили 62713 программистов и 1746 роботов. Сейчас ищут 922 программиста ...

Отделение дизайна от кода

Тема в разделе "Прочие вопросы по PHP", создана пользователем enshtein, 13 дек 2006.

  1. draak

    draak Guest

    Вон у нас умники смарти в топку кидают, публично жгут на форуме. (Фашисты)
    Так как их СУГУБО ЛИЧНО ДЕЛО это реальность для всех.
    Код (Text):
    1. draak, это не невежество, это реальность.
    Кстати та статья неважная мне не понравилась, ну работаю я в студии - без смарти бы пропал просто напросто.
     
  2. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Между прочим про смарти я писал, а не simpson. И я за свои слова всегда отвечаю. А вас попрошу посдержаннее себя вести. Я про ваш мозг ничего не писал, а могу!
    Мне смарти не нравится. Не вижу никакого смысла использовать этого монстра. Хотя, для тех, кто любит извращения в жёсткой форме, смарти - самое оно! При этом я не заявляю, что сам смарти, как программный продукт, выполнен на низком уровне, смарти - качественный продукт! А его использование - это личное дело разработчика и лично я нашёл для себя другое гибкое, быстрое и надёжное решение, которое разработал сам.

    p.s. Использовать готовенькое может каждый, а своё сделать - воля нужна.
     
  3. Xpert

    Xpert Активный пользователь

    С нами с:
    15 дек 2006
    Сообщения:
    47
    Симпатии:
    0
    Использую свой собственный шаблонизатор, который имеет такие конструкции как блоки, условия и отображение переменных. Вполне хватает. Smarty смотрел, весьма громоздкое решение. Все равно что ядерной боеголовской по гусенице :)
     
  4. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    +1
     
  5. Davil

    Davil Guest

    Имхо. Чтобы написать гостевую книгу не обязательно использовать смарти, так же как и необязательно для приготовления яишницы использовать огнемет...
     
  6. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    а если это будет быстрее чем классическим способом? и при чем даже из скорлупы не нужно вынимать (оптимизация процессов)...
    К сожалению, рыночные условия и потогонная система довольно часто заставляют людей принимать решения не соответствующие здравому смыслу, лишь бы "схавать" побольше...
     
  7. draak

    draak Guest

    Ядерная боеголовка выполненая на низком уровне. =) вы сами сказали.
     
  8. Xpert

    Xpert Активный пользователь

    С нами с:
    15 дек 2006
    Сообщения:
    47
    Симпатии:
    0
    Согласен. Но именно поэтому если за дело будет браться профессионал, а особенно если за переделку чужого наделанного, денюжка будет очень неплохо капать... Согласись, не все могут себе позволить разработать нестандартное, быстрое решение: ведь "в лоб" куда быстрее и начхать что там десяток ненужных запросов от которых БД стонет и т.д.
     
  9. bruno

    bruno Активный пользователь

    С нами с:
    9 дек 2006
    Сообщения:
    122
    Симпатии:
    0
    Ну зачем этот Смарти? Я считаю, что использования конструкций require и функций пользователя - супер решение. При этом *.php давать только файлам где есть только php, а *.html - где Html, echo, foreach.
     
  10. avm

    avm Активный пользователь

    С нами с:
    21 сен 2006
    Сообщения:
    597
    Симпатии:
    0
    Адрес:
    Москва
    У заказчика есть задача/потребность и деньги на ее реализацию. Он даже понимает, что наиболее эффективно для него разбить работу на части:
    - для сути нанять маркетолога/технолога/дизайнера,
    - для оформления нанять художника/дизайнера,
    - для интерактивности нанять программиста.
    Можно спорить о значимости каждого из них для проекта, но для самого заказчика очевидно что программист тут занимает далеко не ведущую роль! Он для заказчика всего-лишь как кукловод - заставляет казаться живой эту игрушку...

    Так вот если дизайнер (в первой или второй роли) скажет что ему для исполнения задачи нужен "черт с рогами" - программист будет писать под это...

    Добавлено через 2 минуты.

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

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

    Anonymous Guest

    avm, эх мечты, мечты... =))
     
  12. draak

    draak Guest

    согласен
     
  13. Вльдемар

    Вльдемар Активный пользователь

    С нами с:
    20 май 2006
    Сообщения:
    635
    Симпатии:
    0
    Адрес:
    Белхород
    Как только узнал что есть смарти, сразу же начал его использовать.
    Но медленно он работает что не говори.

    На глаза попался старенький сайтик (еще о смарти не знал), и решил немного поправить и спросить в чем заключаются минусы такого подхода?

    Есть какой нить файл с так сказать "шаблоном"

    файл_с_шаблоном.php
    PHP:
    1.  
    2. <html>
    3. <head>
    4. <title><?=$content['title']?></title>
    5. </head>
    6. <body>
    7. <table>
    8. <tr><td colspan="3">Тут шапка</td></tr>
    9. <tr>
    10. <td>Тут меню</td>
    11. <td><?=$content['body']?></td>
    12. <td>тут баннеры</td>
    13. </tr>
    14. <tr><td colspan="3">Тут всякая ерунда</td></tr>
    15. </table>
    16. </body>
    17. </html>
    18.  
    и возьмем index.php
    PHP:
    1.  
    2. <?
    3. $content=array();
    4. $content['title']='Главная';
    5. $content['body']='тут все что угодно';
    6. include('файл_с_шаблоном.php');
    7. ?>
    8.  
    По своему опыту знаю что обычно на разных страницах сайта изменяется только одна какая то часть, если больше(например меню), можно $content['menu']='генерация какого хошь меню' и в файле с шаблоном вставить в нужное место.

    Кто шо думает по этому поводу....
     
  14. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Я вот использую иногда такой подход. У меня в одном скрипте список категорий сайта (с вложенными под-категориями неограниченного уровня вложения) так я в админке когда добавляю/убавляю/правлю категорию то кидаю в кеш готовый HTML-код и его использую, аналогично и с другими частями скрипта которые меняются только в админке.

    Это конечно не совсем правильно с точки зрения некоторых "понятий" однако это позволяет
    1 - максимально снизить нагрузку на БД
    2 - сильно упростить код
    3 - не беспокоиться о шаблонизации ибо такие куски кода стандартны не зависимо от дизайна (список он и в африке <ul>, таблица она и в африке <table>, а дизайн прекрасно задаётся стилями)

    Из минусов только то что выкладывать в публику такой скрипт я не могу так как мне репутация дороже :)
     
  15. MaXyC_Web_Studio

    MaXyC_Web_Studio Активный пользователь

    С нами с:
    31 дек 2006
    Сообщения:
    678
    Симпатии:
    3
    Адрес:
    Новоуральск
    smarty

    smarty однозначно лажа. как по производительности так и например тем что....
    smnarty тот же код программирования. нах нам еще один язык когда есть php??? в чем выгода тогда того же смарти. изменение литералов?
    в моей цмс построено все следующим способом.

    в конкретной папке хранится дизайн всей страницы. назовем его main.inc
    в нем, к примеру, в конкретных местах вставляем "зоны дизайна":
    <?=$_LEFT_?>
    <?=$_TOP_?>
    <?=$_RIGHT_?>
    <?=$_BOTTOM_?>
    <?=$_CONTENT_?>

    все что надо будет дизайнеру верстальщику это в нужных местах вставить <?=_....._?> код.
    идем дальше....

    в другой папке создаем "блок1". в этом блоке вызывается файл index.inc который подготавливает данные и затем передает массивом в файл table.htm в той же папке.

    ядро цмс сразу все эти выводы перехватывает средствами ob_ и записывает в переменные.

    В админке мы создаем страницу на которой подключаем к каждой из зон "блок". и тем самым к одной зоне можно подключить любое количество блоков.

    отсюда получается высокая производительность (т.к. не надо парсить чужой код (smarty)), легкочитаемость кода (всегда понятно где что откуда берется и не приходится рыться в тоннах), повторность использования кода без использования includов, что в своем выигрывает быстрым изменением содержания страниц.
    к тому же код реально уменьшается в размерах. у меня сайт парнишка делает на этой системе, что то на подобии km.ru и кода у него написано около 1 мб, и ядро почти 2 мб.
    самая требовательная страница формируется не более чем за 2-3 секунды и mysql запросов не более 30.

    от дизайнера верстальщика требуется при таком подходе только лишь сделать главный макет страницы (main.inc)
    а дизайн блоков (например для меню) сможет доделать и сам программист. все же он должен знать основы css и html )))))