За последние 24 часа нас посетили 17107 программистов и 1652 робота. Сейчас ищет 981 программист ...

Помогайте. Облейте меня говном.

Тема в разделе "Прочее", создана пользователем igordata, 1 ноя 2014.

  1. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    можешь перевести и заодно апнуть скил ;)
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Вообще, главное достоинство шаблонизаторов в том, что они из коробки несколько полезных штук навязывают, к примеру тебе нужно заранее подготовить все данные что бы их передать в шаблон. Сами же шаблоны ты можешь как угодно дробить на части, либо наследовать расширяя / дополняя / заменяя отдельные блоки, плюс у многих по дефолту экранирование идет.
    Кэширование у любого нормального шаблонизатора из коробки: запустил - он скомпилился.
    Я уж молчу про несколько более удобный синтаксис и целый ряд различных хелперов.

    Добавлено спустя 1 минуту 23 секунды:
    Попробуй Laravel. Построена на тех же компонентах симфони, но гораздо дружелюбнее.
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я уже написал про шаблонизатор раз пять. можно прицепить любой.
     
  4. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А если прицепить шаблонизатор, зачем нужны теги? ) Там точно так же можно инклудить блоки.
     
  5. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    присмотрюсь
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    уже отвечал на этот вопрос.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    И да еще потому что я не люблю шаблонизаторы и не вижу в них смысла.
     
  8. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    а твои "теги" это не шаблонизатор?
     
  9. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Неудобняк он добавляет. Я открыл и сразу же закрыл, потому что - это не подойдет вообще никак, я бы - это двиглом не назвал бы.
    Удобняк будет только тогда, когда будет " IDE " только web - структуры " PHP JS HTML CSS ", но!так, чтобы были связи, а не все подрят,- как сейчас в нынешних " IDE ", сильно пичкать незачем. Пока я могу назвать твой скрипт, как свалка. =)
    Ненужно было так мудрить с шаблонами и с интерфейсом самого движка - в нем почти ничего нет, даже той же шаблонной рекурсии и то не наблюдаю, подобие таких:
    Код (PHP):
    1. if(cache::is('value',60)) {
    2.     for($i=0;$i<3;++$i) {
    3.         $self->ifs('value',array(
    4.             '{i}'=>$i
    5.         ),true);
    6.     }
    7. } else {
    8.     $self->ifs('value',cache::get('value'));
    9. }
    А делать шаблоны подобие Smarty, Twig, бред.
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    нет. это для скриптов пхп. ну чуток еще для статики типа js и картинок.

    погоди, чувачек. А как же "конструктивная критика"?

    Чего?

    Почему?

    Что такое "шаблонная рекурсия"? О чем ты?
    У меня НЕТ интерфейса. Вместо шаблонов примитивные теги. Ты вообще потрогал, то, что критикуешь? Хотя бы в доку вчитался?

    Развей мысль, приведи аргументы. Я не понял ничего. Такое ощущение, как будто бы ты про какой-то другой продукт высказываешься.
     
  11. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Это когда у тебя шаблон самостоятельно генерируется, по указанному фрагменту блока и его состовляющих.
    Код (PHP):
    1. <?php if(cache::is('index',60)) {
    2.     $self->file('index');
    3.     $self->tag('{tag}','TAG');
    4.     for($i=0;$i<3;++$i) {
    5.         $self->ifs('value',array(
    6.             '{i}'=>$i
    7.         ),true);
    8.     }
    9.     $self->parse('index',true);
    10. }
    11. echo cache::get('index');
    Код (PHP):
    1. {if value}
    2.     <p>
    3.         TITLE - VALUE {i}
    4.     </p>
    5. {/value} 
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Я даже в страшном сне не могу представить зачем это нужно.
     
  13. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Доделаю покажу =))))
    Там фишка вообще вся в том, что скрипт он просто дает возможность менять блоки, подобие " if, else ", только мы не пишем в шаблонах никакие if else и прочие какие - то там геморойные проверки, как в шаблонизаторах в сети типо Smarty, в html не должно быть этого гемора.
    У нас есть html и просто конструкции для указания.
    А вся модульность и реализация уже происходит от шаблона сайта, какой хотим мы его видеть и где, что будет стоять и как будет выглядеть.
    Сижу глобалю какой - то не вероятный процесс =)))
    Но пока все идет так - как планирую =)
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я свой двиг сделал для случаев, когда голого PHP выше головы.
     
  15. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Не для новичков, - это я понял.
    Но я думаю, тут ситуация должна быть иного характера, чтобы тот кто возьмет в управления, должен осознать, что он делает...
    Доработай динамику внедрения, тогда можно будет, о чем то уже говорить.
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    доки:
    основное ридми https://github.com/igordata/PinPIE

    по статик файлам. рекомендую заценить https://github.com/igordata/PinPIE/blob/master/docs/static.md

    по тагам https://github.com/igordata/PinPIE/blob/master/docs/tags.md

    по кешу https://github.com/igordata/PinPIE/blob/master/docs/cache.md
    по конфигу https://github.com/igordata/PinPIE/blob/master/docs/config.md

    и недоделанное, но покрывающее 80% случаев ридми по темплейтам https://github.com/igordata/PinPIE/blob/master/docs/template.md

    Добавлено спустя 21 секунду:
    что это значит?
     
  17. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    По докам я пробежался уже.
    Могу сказать, только так: не в ручную.
    Иначе не знаю, как тебе объяснить, - это видеть скорей всего нужно.
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    просто я словосочетание "динамика внедрения" в жизни не встречал. Если ты про композер и тому подобное, то понял тебя, попробую.
     
  19. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Попробуй, я не знаю что это композер=)
    Я своими словами выразился.
     
  20. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    тогда я не понял тебя, объясни иначе пожалуйста.
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    у меня деревья компонентов на странице рекурсивно разворачиваются, это ок, в принципе. Главное нормально сделать. Ну..с поправкой, что у меня не юзаются твиги, смарти и хехарти. Компонент ищет дочерние компоненты, создает их, они выбрасывают свое UI, при создании этих компонентов стартует поиск дочерних компонентов...
     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    рекурсивно подразумевает, что функция отрисовки у них тоже может быть общая.
    По сути я бы хотел, чтобы кто-то покритиковал или попробовал. Пока же мне только принципиальные вещи высказаны.
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ну, у меня это просто обеспечивает надстройка, а не сама система, функции отрисовки у всех компонентов, в идеале, унаследованы от общего класса, но, по факту, никто не мешает юзать что-то свое. В общем, все хитро, но не суть. На выходных могу поглядеть, если будет время, опять же. Не ранее, увы( Скоро премьера, времени катастрофически не хватает.
     
  24. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Верно, мы можем обрисовывать по разному одно и тоже или сразу несколько.
    Менять содержимое и добавлять новое, а также разворачивать опять же меняя один и тот же блок.
    Очень много работы. Но затраты на выполнения становятся незаметными =)))
     
  25. nguseff

    nguseff Новичок

    С нами с:
    4 ноя 2014
    Сообщения:
    3
    Симпатии:
    0
    1) Тупой Routing из url на файловую систему, я бы не стал это использовать нигде. Заказчики чаще всего хотят ЧПУ (/contact вместо /page?id=4, /catalog/for-women/underwearth вместо catalog.php?category_id=42). Стоило посмотреть на то, что делают другие (на slim, silex) и каким должен быть роутинг.
    2) Зря игнорируешь psr (в частности psr-0(4)), composer.
    3) Как уже сказали, хочешь показать что-то другим (заставить использовать) - смотри, что делают и используют другие.
    Никто не захочет брать твой "двигл" ради подобия шаблонизатора, многопоточной загрузки статики (вещь по сути примитивная) и gzip сжатия.
    Вся проблема в подходе писать свой велосипед ради трех фич (по сути простых, зачем ради этого писать остальное самому?). Это ведь как раз то, чего все стараются сейчас НЕ делать. Все используют готовые компоненты, где возможно и пишут только то, что важно именно в их решении, никто не старается написать всё самостоятельно без особой необходимости.
    Я могу использовать Stash/Zend_Cache для кэша, slim для роутинга, assetic для статики (другие компоненты, если они мне нужны, например httpkernel) и вставить туда только нужные мне фичи (и мне не нужно будет следить за загрузкой кучи библиотек и их зависимостей, см. psr-4, composer). Преимуществ такого подхода в сравнении с "двиглом" бесконечное количество.