1. PHP / Говнокод #4666

    +153

    1. 1
    2. 2
    3. 3
    <?php if (isset($primary_links)) : ?>
    <?php print theme('links', $primary_links, array('class' => 'nav1')) ?>
    <?php endif; ?>

    украинская система верстки

    Запостил: fatdevil, 17 Ноября 2010

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

    • показать все, что скрытоPHP как шаблонизатор - это ужас!
      Ответить
    • Если всё писать в стиле
      <?php
      /* одна строка какого-то кода */
      ?>
      <?php
      /* ещё одна строка кода */
      ?>
      то можно утроить показатели выхода строк!
      Ответить
    • вам шашечки или ехать?
      Ответить
    • Не говно. Правда, пробелов нехватает.
      Ответить
    • Никакого говнокода нет.

      Это обычный PHP шаблон CMS DRUPAL, а не украинская система верстки.
      В данном случае, плохо конечно, что код не оптимизирован, но когда фирма не делает, а "штампует" сайты большим потоком, ради сроков и денег, то никто об этом не задумывается - работает и супер.

      И интересно почему вы считаете что PHP как шаблонизатор - это плохо? Ведь это гораздо более эффективно и более гибко чем любой другой шаблонизатор, к тому же итак написанный на PHP. Зачем делать лишние действия? Зачем лишняя нагрузка на сервер? В чем глубокий смысл? В чем смысл жизни? :)
      Ответить
      • >>Это обычный PHP шаблон CMS DRUPAL
        ну я и говорю -- говнокод

        >>И интересно почему вы считаете что PHP как шаблонизатор - это плохо?
        я считаю что PHP -- замечательный шаблонизатор.
        вот ЯП он гавеный.
        Ответить
        • >> ну я и говорю -- говнокод
          а можно, пожалуйста, пример CMS c шаблонами хорошего кода? :)
          Ответить
          • на php?) врядли
            впринципе, UMI наименее плохой
            хотя тоже не фонтан далеко
            Ответить
          • Вот пример хорошего кода:

            # List of settings
            @settings = (
            # Begin tab
            {
            	name  => $settings_txt{'news'}, # Tab name
            	id    => 'settings', # Javascript ID
            	items => [
            		{
            			header => $settings_txt{'news'}, # Section header
            		},
            		{
            			description => qq~<label for="enable_news">$admin_txt{'379'}</label>~, # Description of item (displayed on left)
            			input_html => qq~<input type="checkbox" name="enable_news" id="enable_news" value="1" ${ischecked($enable_news)}/>~, # HTML for item
            			name => 'enable_news', # Variable/FORM name
            			validate => 'boolean', # Regex(es) to validate against
            		},
            		{
            			header => $settings_txt{'newsfader'},
            		},
            		{
            			description => qq~<label for="shownewsfader">$admin_txt{'387'}</label>~,
            			input_html => qq~<input type="checkbox" name="shownewsfader" id="shownewsfader" value="1" ${ischecked($shownewsfader)}/>~,
            			name => 'shownewsfader',
            			validate => 'boolean',
            			depends_on => ['enable_news'],
            		},
            		{
            			description => qq~<label for="maxsteps">$admintxt{'41'}</label>~,
            			input_html => qq~<input type="text" name="maxsteps" id="maxsteps" size="3" value="$maxsteps" />~,
            			name => 'maxsteps',
            			validate => 'number',
            			depends_on => ['enable_news', 'shownewsfader'],
            		},
            		{
            			description => qq~<label for="stepdelay">$admintxt{'42'}</label>~,
            			input_html => qq~<input type="text" name="stepdelay" id="stepdelay" size="3" value="$stepdelay" /> $admintxt{'ms'}~,
            			name => 'stepdelay',
            			validate => 'number',
            			depends_on => ['enable_news', 'shownewsfader'],
            		},
            		{
            			description => qq~<label for="fadelinks">$admintxt{'40'}</label>~,
            			input_html => qq~<input type="checkbox" name="fadelinks" id="fadelinks" value="1" ${ischecked($fadelinks)}/>~,
            			name => 'fadelinks',
            			validate => 'boolean',
            			depends_on => ['enable_news', 'shownewsfader'],
            		},
            	],
            }, ...
            Ответить
            • В чём основные плюсы и отличия?
              Ответить
              • минимум структуру хорошо видно.
                Ответить
              • В том, что это перл :)
                Ответить
                • Arigato, Вы перлоёб,
                  простите...
                  --
                  Признайтесь честно, Вам хорошо заплатили?
                  Ответить
                  • Кто-то же должен глаза людям раскрывать. А то тут, я смотрю, пурл в лик святых возвели. :)
                    Ответить
      • > Ведь это гораздо более эффективно и более гибко чем любой другой шаблонизатор, к тому же итак написанный на PHP.

        Ну да, гибкость - это "+", к примеру, можно даже запросы к БД прямо из шаблонов по мере необходимости делать. Зачем лишние действия в самом движке, если можно прямо из шаблона, и гибче и быстрее :)
        Ответить
        • PHP это шаблонизатор, в который зачем-то добавили возможность обращаться к БД)

          справедливости ради стоит сказать что говно есть даже в моей лубимой жабе (jsp namespacr http://java.sun.com/jsp/jstl/sql)
          Ответить
          • А перл - это регулятор, в который непонятно зачем добавили все остальное.
            Ответить
            • перл это practical extraction and report language.
              язык для парсинга текста и составления по нему отчетов.
              и для этих целей он прекрасен.

              и ничего лишнего в нем нет. В отличии от ПХП туда ничего не добавляли с 1985го года примерно)

              А если какие-то макаки пытаются писать на нем клиентов ICQ или enterprise приложения, и они у них получаются уродские -- так это беда макак, использующих язык не по назначению)
              Ответить
              • На каком же языке или связке языков и с какими технологиями должен быть создан сайт?
                Ответить
                • Если хомяк то и пыхи в одном файле с головой. Если гугел то тут несколько сложнее.
                  Ответить
                • PHP появился как шаблонизатор. Back-end писался на сях (а в самой первой версии -- вообще на перле), а PHP нужен был только что бы красиво встраивать это в HTML.
                  по и сути сейчас PHP это способ легко и просто вызвать обертки вокруг сишных функций в скриптовом окружении и вставить их результат в HTML. Так что в случае PHP пиисать бэк-енд правильно на сях.

                  Но на сях писать не очень удобно.

                  Мне кажется, что для создания веб-приложений лучше всего подходят платформы java или .net.
                  в качестве языков это java, c#, может быть python (для небольших). Шаблонизацию можно делать на JSP (для java) и на MVC.NET (для .net). Хорошо еще делать ее на XSL (что бы отвязать верстальщика от приложения), но обычно это тема для холиваров.

                  Вообще я считаю что крупное приложение очень трудно делать без статической типизации (исключение тут разве что python, где сильна культура юнит-тестирования, да и то я бы не рискнул).
                  В крупном приложении -- тысячи классов. Рефакторинг его без статической типизации может превратиться в ад

                  Perl стал языком веб-разработок в 90-е -- начало 2000х потому что во-первых ничего более удачного все равно тогда не было, во вторых он был везде и его все знали, в третьих веб-приложения тогда обычно были не сложные.
                  Ответить
                  • Так-то оно так. Но php наиболее популярен, как со стороны разработчиков, так и со стороны доступности подходящих хостингов. Что-то вроде замкнутого круга. Хостеров с php большинство, т.к. большинство скриптов на php. Новые скрипты пишут на php, т.к. его поддерживают большинство хостингов. Есть ли выход?
                    Ответить
                    • есть.
                      работать в более серьезных проектах, которые могут позволить себе хостинг с жабой или (о, ужас!) выделенный сервер.

                      А если бюджет сайта -- 6000 рублей, то конечно его надо делать на php, потому что только у php бывает хостинг на 2 доллара в месяц)
                      Ответить
      • Какая лишняя нагрузка в использовании XSLT?
        Ответить

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