"PHP" / Говнокод #3300 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
<?$APPLICATION->IncludeFile(
			$APPLICATION->GetTemplatePath("include_areas/contacts.php"),
			Array(),
			Array("MODE"=>"html")
		);?> </div>

Вот так индусские проггеры из Bitrix показывают контакты сайта.

Запостил: aleferov aleferov, (Updated )

Комментарии (34) RSS

    • Неадекватная через-задницу реализация, горазно приятнее видеть такое:
      $this->renderTemplate('include_areas/contacts')

      Учитывая ещё то, что ("MODE"=>"html") вообще здесь быть не должно - о типе контента должен знать не шаблонизатор, а сам контроллер. Который и выберет по типу нужный темплейт.
      Ответить
      • 🙂 ну начнем с того что реализации MVC в битриксе нет, есть ее жалкое подобие. И шаблон выбирается не контроллером, а пользователем в настройках компонента или включаемой области.

        Применения ООП в битриксе тоже не особо много, в основном библиотеки статических методов.
        Ответить
      • в данном случае не вижу преимуществ перед include('include_areas/contacts.php');

        и вообще, использование активных шаблонов это зло. А еще к слову, смарти-подобные выкидыши тоже. единственный более-менее грамотный шаблонизатор для пхп видел только phpTal
        Ответить
        • php и есть шаблонизатор
          а то говно что зенд заталкивает в последние версии выглядит как на корове седло, кривоватое засраное седло
          Ответить
          • шаблонизатор, только шаблоны активные... про это можно почитать немного погуглив, а на скорую руку вот:
            <?php for($i=0;$i<10;$i++) {?>
             <input type="text" name="text<?php echo($i); ?>" value="<?php echo($i); ?>"/>
            <?php } ?>


            <t:loop value="i" range="0..9">
             <input type="text" t:name="'text'+i" value="i"/>
            </t:loop>


            что более читаемо для непрограммиста (напр. дизайнера) и лучше выглядит в визуальном редакторе? воот
            Ответить
            • В нормальных проектах дизайнер не верстатет, а верстает верстальщик. Верстальщики поймут любой шаблонизатор, но предпочитают xslt. Потому в нормальных проектах (уровня Яндекс) юзают xslt. В проектах средней паршивости юзают сам PHP, и тольков самых гавеных проектах юзают всякие смарти. Дальше идут мега-гавеные проекты, где мартышки пытаются написать собственные шаблонизаторы.
              Ответить
              • > Верстальщики поймут любой шаблонизатор
                впервые слышу. все говорят об обратном

                > но предпочитают xslt.
                толковый подход, но (проверял сам) почему то тормозной (сделал схему, хмлы, хслт-преобразовывал в хтмл). мож я тупой задорукий

                > мега-гавеные проекты, где мартышки пытаются написать собственные шаблонизаторы
                если очередной смарти, то это уже ГК "космического масштаба и космической же глупости" (ц)
                а вообще можно попробовать написать толковый
                Ответить
                • А Вы знаете хороших верстальщиков? Их довольно мало, на самом деле.
                  Поверьте: люди, знающие чем quirks mode отличается от standard complaint, что такое "свойство hasLayout" и "ie box model bug" -- достаточно умны, что бы освоить любой шаблонизатор, тем более такой простой как PHP: не на лиспе же их заставляют писать.

                  В школьница с фронт-пейджем конечно же не разберется, это да.

                  >>толковый подход, но (проверял сам) почему то тормозной (сделал схему, хмлы, хслт-преобразовывал в хтмл). мож я тупой задорукий

                  Во-первых нужно правильно работать с XML (не юзать например DOM ни в коем случае).
                  Во-вторых XSLT нужно писать правильно: это тоже мало кто умеет. Достаточно сделать x-path выражение для всего множества нодов (всех потомков корня) что бы все повисло вусмерть.
                  И наконец аутпут надо кешировать.
                  Яндекс как-то живет с XSLT, а там запросов не так уж мало, я думаю.
                  Но XSLT это язык, и его надо учить. К сожалению порог вхождения высок, выше чем в смарти. Но хорошие верстальщики (о которых я писал выше) его знают и любят.

                  >>а вообще можно попробовать написать толковый
                  Поверьте, многие пытались. Это не просто. Если у Вас есть лишний человекогод -- то наверное Вы можете написать хороший шаблонизатор. А если писать его на коленке -- будет очередной смарти.

                  Я думаю что на PHP надо использовать или PHP или уж тогда XSLT.
                  Ответить
                  • > А Вы знаете хороших верстальщиков? Их довольно мало, на самом деле.
                    вот именно, что больше кто ненавидит пхп

                    > правильно работать с...
                    ДОМ не использовал, а вот с XSLT не долго возился
                    и кеширования, конечно, не было

                    > лишний человекогод
                    пробую уже месяц. Хм, потихоньку... Труднее с языком выражений

                    > Я думаю что на PHP надо использовать или PHP или уж тогда XSLT.
                    это да. быстрее пхп-шаблонизатора чем пхп не будет никогда
                    Ответить
                • вы правильно слышали на счёт верстальщиков, от коллектива к коллективу разный уровень
                  Ответить
                  • задача гения (программиста) сделать так, что бы морду можно было повесить на обезьяноподобных верстальщиков... Че та именно на хомосапиенс-верстальщиков скупятся
                    а обезьянки умеют только в визуалке, и пхп или смарти их вводит в ступор и агрессию
                    Ответить
                    • Ясно же, что вы ни одной серьезной веб-студии не видели, так зачем же все эти бессмысленные комментарии?
                      Ответить
                        • Выгнали за профнепригодность? Не расстраивайтесь, вы догоните из уровень, лет через 5.
                          Ответить
              • хуже XSLT тяжело что-то придумать, он критически усложняет представление. Если шаблонизатор не позволяет сделать что-то быстро и не обладает прозрачным интерфейсом, а это критерии для большинства случаев его применения - то нафик такой шаблонизатор вообще. XSLT не потому используют, как вам кажется - достаточно составить сводную таблицу сравнительных характеристик..
                Ответить
                • как всегда - задумка благая, реализация кошмар. Сам по себе хслт не плох, но в верстке далек от хтмл
                  Ответить
                  • > ... хслт не плох, но в верстке далек от хтмл
                    > xslt сравнивается с html
                    ЩИТО?
                    Ответить
                  • чем же так неплох xslt, огласите весь список, пожалуйста =)
                    Ответить
                    • Такая же естественная штука, как CSS для управления стилями HTML.

                      Он быстрый, он декларативный, это стандарт, реализованный для многих языков, поддерживается браузерами (правда, пока что с оговорками).

                      Ну и потом, ни в одном шаблонизаторе на вход не поступает конкретная независимая структура данных: я яве объекты, в рнр массивы и переменные (обычно) – все это делает из шабона неоднородную кашу. А в XSLT – на входе одно дерево, на выходе другое, это очень удобно.

                      Короче, если хотите достичь идеального разделения труда верстака и программиста – используйте XSLT
                      Ответить
        • да ну, а наличие $this вас не наталкивает, что это возможно вполне полноценный хэлпер? или тот же renderTemplate позволяет вторым параметром передавать массив локальных переменных, заметьте, что с областью видимости исключительно локальной.
          Ответить
    • Видимо в том, что можно было обычный include использовать.
      Ответить
      • Нельзя ибо данный метод ищет файл рекурсивно в определенных местах, а в режиме редактирования добавляет блоки для управления файлом.
        Ответить
    • Еще эти какашки распиханы по отдельным фаилам (по 3 строчки каждый)
      Ответить
      • И в чем проблема? Вы не знаете где такие включения могут встретится? Мы обсуждаем реализацию включения редактируемой области или что?
        Ответить
        • Да проблемы особо-то и нет.
          Закомство с Bitrix было по касательной, и включало в себя переливку сотен php фаилов весом по 30 байт по FTP.
          Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8