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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    <? foreach (  $menus as $menu  ){ ?>
         <li class="menu-item menu-item-type-post_type"><a href="<?=($menu->link) ?>"><?=desafelySqlStr($menu->name) ?></a>
         <?    $submenus = ggsql (  " select * from #__menu where parent=".$menu->id  ); 
         
         if (  count($submenus)>0  ){
          ?><ul class="sub-menu"><?
          foreach (  $submenus as $submenu){
           ?><li><a href="<?=($submenu->link) ?>"><?=desafelySqlStr($submenu->name) ?></a></li><?
          }
          ?><span></span></ul><?
         }
         ?></li>
        <? } ?>

    Друг устроился на работу верстальщиком, попросил помочь разобраться с этим кодом

    [12:56:24] nolka: чо за desafelySqlStr?
    [12:56:27] nolka: кто это писал?
    [12:56:37] anonymous: тут главный какой-то
    [12:56:41] anonymous: он все время это пишет
    [12:56:43] anonymous: а чего?
    [12:56:56] nolka: дать пезды ему за это и отправить на урановые рудники блять
    [12:57:08] anonymous: :) Почему?
    [12:57:28] nolka: ты сам щас ответишь себе на этот вопрос
    [12:57:33] nolka: тебе нравится такой код?
    [12:57:39] nolka: стиль кодинга такой
    [12:58:29] anonymous: еба еба тут а не код
    [12:58:37] anonymous: я уже с ума схожу за 3 дня

    Запостил: nolka4, 15 Сентября 2010

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

    • Интересно, кто как выводит дерево, при этом придерживаясь MVC?
      Ответить
      • показать все, что скрытоКак кой такой MVC. Версталищик не нужен он просто ничего не сверстает. Как это можно верстать. А имена селекторов menu-item-type-post_type охереть и буков много и не понятно кто же это меню типа пост или пункт типа пост меню пост.
        Ответить
      • Smarty XSLT block function
        http://www.smarty.net/forums/viewtopic.php?t=14502
        Ответить
        • Наверное я еще не дорос до того, чтобы использовать xslt. Да и смарти мягко говоря не долюбливаю.
          Ответить
          • А какой шаблонизатор вы предпочитаете?
            Ответить
            • На куя пыхе шаблонизатор. Она сама шаблонизатор.
              Ответить
            • Сам php. Ну то-есть отдаю задачу парсинга шаблонов самому пхп. Что здесь плохого?
              Ответить
              • У Smarty синтаксис более компактный и выразительный. Меньше соблазна затолкать в шаблон код логики -- особенно если отключить тэг {php}. Вроде больше ничего.

                Но Smarty более медленный, чем нативный php, это да.
                Ответить
                • >Меньше соблазна затолкать в шаблон код логики

                  Ну это лечится с опытом и пониманием концепции разделения логики от представления

                  Конечно более медленный Smarty сам собирает код пэхапе и называет это скомпилированным шаблоном спрашивается зачем тогда смарти я сам могу написать шаблон который не будет отличатся от смартовского ничем и с экономлю время на его компиляцию
                  Ответить
                  • сам конечно смарти не использую, но редактировать шаблоны должны не вы, а дизайнер
                    Ответить
                    • >>а дизайнер
                      :)))))))) вообще-то это делают верстальщики.
                      Дизайнеры делают макеты в фотошопе.
                      Ответить
                  • > Ну это лечится с опытом и пониманием концепции разделения логики от представления

                    Начинающим кодерам до этого опыта надо ещё дожить. =)

                    > я сам могу написать шаблон который не будет отличатся от смартовского ничем

                    Конечно, можете. Но на смарти это проще вследствие более компактного синтаксиса.
                    Ответить
                • смарти ничем внешне не отличается от пхп, те же непонятные конструкции
                  Ответить
                  • К тому же требующие времени для изучения. А пыху мы уже знаем.
                    Ответить
      • Как минимум, вместо обильного количества скобочек, я пользуюсь альтернативным синтаксисом.
        Еще я избегаю коротких тэгов, но это дело вкуса.
        Ответить
        • Опять же, забудьте об этом коде, просто скажите, как бы Вы рендерили дерево.
          Ответить
        • Приведите пример вашего шаблона, интересно.
          Ответить
          • Вместо 'xxxx' в названиях переменных и методов одно слово, которое я не хотел бы палить.

            <fieldset>
                <legend> Проекты </legend>
                <table>
                    <tr>
                        <th>ID проекта</th>
                        <th>Логин</th>
                    </tr>
                    <?php $taskProject = $this->project->getLastTaskProject() ?>
                    <?php if($taskProject !== NULL): ?>
                        <?php foreach( $taskProject->getTaskXxxxProjects() as $taskXxxxProject ): ?>
                            <tr>
                                <td>
                                    <a href="<?php echo $this->url( array( 'controller' => 'Xxxx', 'action' => 'urls', 'XxxxProjectId' => $taskXxxxProject->id ), NULL, true ) ?>">
                                        <?php echo $this->escape( $taskXxxxProject->id_xxxx_project ) ?>
                                    </a>
                                </td>
                                <td>
                                    <?php
                                        $xxxxProject = $taskXxxxProject->getXxxxProject();
                                        if( $xxxxProject ) {
                                            echo $this->escape( $xxxxProject->getAccount()->getLogin() );
                                        }
                                    ?>
                                </td>
                            </tr>
                        <?php endforeach; ?>
                    <?php endif;?>
                </table>
            </fieldset>
            Ответить
    • где тут МВЦ, когда прямо во вьюве сидит запрос к скулу?
      я уж молчу про производительность, когда еще в цикле обращается к бд.

      процедурный подход "ggsql" это точно гыгы-скул )))

      даешь блин инквизицию и дискриминацию по умственному признаку!
      Ответить
      • Я же не говорил, что тут mvc, я просто поинтересовался.
        Ответить
      • Даёшь технофашизм!
        Биореакторы простаивают. А стране нужен метан.
        Ответить

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