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

    +69

    1. 1
    2. 2
    3. 3
    4. 4
    function all_sorting(
        $ids, //!< Массив ID элемента в карте сайта
        $_POST //!< Значения сортировки элементов
    ) {

    Определение локальной переменной с именем суперглобального массива вызывает ошибку "Fatal error: Cannot re-assign auto-global variable _POST in" в PHP 5.4

    Запостил: Lblss, 22 Мая 2012

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

    • Из комментария не ясно над чем негодуете, то ли над тем что автор локальную переменную назвал так же как встроенную глобальную переменную, то ли над тем что с версии 5.4 пых стал на это ругаться ?
      Ответить
      • И то, и другое - достаточный повод.
        Ответить
      • Поздно спохватились. Запретить такие имена надо бы раньше чем вышла 5.4. Много раньше.
        Ответить
        • В любом случае нормальному человеку "такие имена" в голову использовать не придёт. Это сущие мелочи по сравнению с magic_quotes, register_globals, short_open_tag, которые вот действительно стоило запретить много раньше 5.4.
          Ответить
          • Дрянь вроде битрикс даже не ставится если short_open_tag отключен.
            Ответить
          • Короткие теги имеют какую-то иллюзорную ценность, если рассматривать PHP в роли персональной домашнейшаблонизатора.
            Ответить
            • Факт в том, что их использование/неиспользование в сочетании с поддержкой/отсутствием поддержки на хостингах - это совершенно лишняя нафиг не нужная путаница, которая время от времени заставляет заниматься глупыми правками кода, потому что "всё работало, я не знаю из чего вы там проблему делаете!11". С остальными опциями, впрочем, та же история по тем же причинам. Захотели аффтары подбавить сахарку узким группам, а подосрали в итоге всем.
              Ответить
              • Я не пытаюсь оправдать авторов языка. Мне они видятся этакими сороками, которые натаскивают в гнездо всё, что блестит. Отсутствие архитекторов (вменяемых и не упоротых) в начале проекта закономерно сводит проект в жопу. Примеры - обсуждаемый язык и 1-ass. Там может быть только один выход. Выкинуть всё нахрен и переписать заново. Но хомячьё не одобрит-с.
                Ответить
                • > Мне они видятся этакими сороками, которые натаскивают в гнездо всё, что блестит.
                  К сожалению с++ тоже этим заболел.

                  А у пхп архитектуры никогда и не было.
                  Ответить
                  • Зато калорийный святой духкак-то у них выходило до сих пор держаться, разве что за счёт вчерашних школьников. Сейчас у них есть некоторые намёки зайчаток попыток перейти в сторону промышленной платформы, но ещё лет десять им это не светит.
                    С ЦПП ситуация ожидаемая. Нельзя вечно быть в стагнации, нужно развиваться. А вот вектор развития может попасть не туда, куда надо.
                    Ответить
    • /**
       * Функция пересортирует не сортируемое,
       * мне бы ее применить в гараже.
       *
       * @param array $ids Массив ID элемента в карте сайта
       * @param mixed $post Значения сортировки элементов
       * @return что-нибудь
        */
      function allSorting($ids, $post) {
        ...
      }

      так писать старомодно?
      Ответить

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