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

    +176

    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
    /**
        * получить перечень экзаменов на указанную дату
        * @global GathererDB $db
        * @param string $examdate must be $db->qstr()'ed
        * @return array 
        */
       function examsOnDate($examdate)
       {
         global $db;
         ob_start();
     ?>
    select distinct e.EXAMID from EXAMS e
    inner join STATIONEXAMS se on se.EXAMFK=e.SYS_GUID
    inner join PARTICIPANTSEXAMS pe on pe.EXAMFK=e.SYS_GUID
    where e.EXAMDATE=<?php print $examdate; ?>
    <?php
         $sql = ob_get_clean();
    
         $exams = $db->getcol($sql);
         return $exams;
       }

    Из скрипта для обслуживания сайта ЕГЭ.
    Изумительное применение буфера.

    Запостил: 7ion, 18 Июня 2011

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

    • А в чем фишка? В смысле, мне как человеку далекому от PHP такой подход кажется очень странным. Т.е. может в теории быть человек, который пишет на PHP и не знает про то, как объявить строковую переменную? Или есть какое-то принципиальное отличие?
      Ответить
      • Ну вообще-то всё, что между тегами ?> и <?php должно отдаваться клиенту как есть. Функции ob_XXXXX() - это, в общем-то, костыль, предназначенный для перехвата вывода, который должен использоваться только тогда, когда нет возможности/очень неудобно получить отдаваемые данные в виде строки.
        Использовать этот костыль вместо нормальной строки или heredoc-синтаксиса - исключительное извращение.
        Ответить
    • Portable SQL Preprocessor, хуле.
      Ответить
    • Неожиданное применение.
      Ответить
      • И причем там еще два десятка функций и формирование запроса к БД везде реализовано именно так.
        Ответить
        • Видимо, ребятам не объяснили, как надо :)
          SQL бы еще отформатировать хорошо.
          Ответить
    • Buffer-Driven Dev
      Ответить
    • Не поверите! Сначала посмотрел на код, подумал с ухмылкой, что это, видимо, из ЕГЭ. Прочел описание — и точно!
      Ответить
      • узнаваемый бренд!
        Ответить
      • >Сначала посмотрел на код, подумал с ухмылкой, что это, видимо, из ЕГЭ. Прочел описание — и точно!

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

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

        интересно, в психологии/маркетинге описано такое, применяется ли.
        Ответить
        • хьюманхакинг, матьтваю :\
          Ответить
        • О_о

          Предлагаю написать докторскую
          Ответить
        • широко используется, особенно в кино, и называется product placement - еще более "тонкая техника" является знаменитый 25ый кадр. А обощение всего подобного называется НЛП.
          Ответить
    • До такого еще додуматься надо.
      Как по мне лучший говнокод за последнее время.
      Ответить

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