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

    +161

    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
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    <!-------------------- Left menu -------------------------->
      <tr> 
        <td valign="top" width="188" class="text"> 
          <table width="188" border="0" cellspacing="0" cellpadding="10">
            <tr>
              <td class="tl">Content</td>
            </tr>
          </table>
          <? 
    
    global $SS_SECTION_NAME, $months2, $level, $SS_SECTION, $info, $arrInterest, $db, $is_photo, $ar_title, $is_contain, $id, $shablon;
    
    if ($prev == 'yes') $add = " AND t.is_confirm!=2 AND t.ref_id=0 ";
    else $add = " AND t.is_confirm!=0 AND t.is_visible=1 "; 
    $sql =  "SELECT t.tree_id, t.name, s.name as section, t.is_contain FROM trees t, sections s WHERE t.root_id=3 AND t.section_id = s.section_id ".$add." ORDER BY t.order_by";
    $db->query($sql);
    $Rec = array();	
    $i = 0;
    while($db->next_record()) {
        $Rec[$i++] = $db->Record;
    }
    reset($Rec);
    
    ?>

    Проект который нужно переписать на Yii framework. Писал человек с большим сроком работы программиста чем я. Видать про фреймворки не знал. Код не весь, так как он огромен.

    P.S. В проекте более 2000 файлов с таким содержанием.

    Запостил: akazakov, 08 Мая 2011

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

    • SELECT select FROM from WHERE where='where' ORDER BY order_by
      Ответить
    • function function(){
      global $db, $query, $result;
      $result = $db->query( $query );
      return $result;
      }
      Ответить
      • function как зарезервированное не прокатит
        Ответить
      • по мне, так глобальные переменные вообще зло. Хотя может это был сарказм))?
        Ответить
    • Каждый раз, разгребая макаронный быдлокод, удивляюсь одной вещи. Бывает, автор не совсем тупой, хорошо избегает повторного использования кода с помощью функций и даже какой-никакой архитектуры придерживается. Но когда речь заходит о работе с БД, картина одна и та же: запрос, итерация по результату запроса со складыванием данных в массив, дальше работа уже с этим массивом. Что мешает вынести запрос и складывание его результатов в массив в отдельную функцию/метод а-ля fetchAll(), это же логично?! Ан нет, затупливание на эту тему одно на всех и незыблемо.
      Ответить
      • а еще лучше - не складывать в массив, а сразу построчно обрабатывать
        Ответить
      • это ж пхп
        в нём самые популярные mysql_xxx хуй обернешь из-за дефолтного параметра
        а всё потому, что пхп - говно
        Ответить
        • В смысле? В той же Кохане внутри квери билдера всё те же mysql_*, и ничего, брат жив.
          Ответить
          • не полезу.
            наверняка явный дескриптор используют.
            второй вариант - раскопипастить две версии враппера, с явным и с неявным.
            Ответить
            • Мы друг друга не понимаем. О каком дефолтном параметре идёт речь, об идентификаторе соединения, что ли? Ясен болт, его лучше хранить в защищённом свойстве класса. Что до макаронокода без ООП, там все обычно тупо этот идентификатор не указывают, так что его неиспользование во враппере стопудово покатит.
              Ответить
              • омг, пхпшники просто великолепны
                вместо того, чтобы попробовать сделать универсальный враппер и убедиться, лучше изображать непонимание в надежде, что покормят с ложечки, о, да

                > в защищённом свойстве
                кстати, классами надо уметь пользоваться
                Ответить
                • > кстати, классами надо уметь пользоваться
                  Капитан очевидность.
                  Ответить
    • $Rec = array();
      $i = 0;
      while($db->next_record()) {
      $Rec[$i++] = $db->Record;
      }
      reset($Rec);

      Оригинально:)
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить

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