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

    +164

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    // Emulate register_globals on
    if (!ini_get('register_globals')) {
        $superglobals = array($_SERVER, $_ENV,
            $_FILES, $_COOKIE, $_POST, $_GET);
        if (isset($_SESSION)) {
            array_unshift($superglobals, $_SESSION);
        }
        foreach ($superglobals as $superglobal) {
            extract($superglobal, EXTR_SKIP);
        }
        ini_set('register_globals', true);
    }

    PHP-Fusion, эмулятор register_globals

    Запостил: Мартин, 08 Ноября 2010

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

    • показать все, что скрытоНе могу понять любовь ставить скобки {...} там, где они не нужны...
      Ответить
      • по мне так повышает читаемость
        Ответить
        • Если только 1 оператор, то и без скобочек прекрасно все видно благодаря грамотному отступу. Зато экономится количество строк, а то эти постоянные строки в виде "}" как-то не особо смотрятся.
          Еще не понимаю стиль, когда открывающую скобку "{" пишут не на новой строке. Это точно читабельность понижает.
          Ответить
          • Лично я привык всегда ставить всегда скобки, всегда в своей строке, всегда отступая во внутреннем блоке на один таб.
            и ничего, живу, нравится :)
            Ответить
          • Вы на питоне случайно не кодите?

            for($x = 0; $x < $w; $x++)
            {
            	for($y = 0; $y < $h; $y++)
            	{
            		$minalpha = min((imagecolorat($src_im, $x, $y) >> 24) & 0xFF, $minalpha);
            	}
            }


            for($x = 0; $x < $w; $x++)
            	for($y = 0; $y < $h; $y++)
            		$minalpha = min((imagecolorat($src_im, $x, $y) >> 24) & 0xFF, $minalpha);
            Ответить
            • показать все, что скрытоЧем плох 2-й вариант?

              Если в теле цикла было бы более 1 оператора, то ваш вариант нормальный, плохо, когда записывают так:
              for($x = 0; $x < $w; $x++) {
              	for($y = 0; $y < $h; $y++) {
              		$minalpha = min((imagecolorat($src_im, $x, $y) >> 24) & 0xFF, $minalpha);
              	}
              }

              Не пойму, от куда такой стиль идет, может в университетах такому обучают?
              Ответить
              • В университетах дефолтно обучают 2ому варианту.

                Просто я люблю не дописывать скобки, если нужно внезапно что-то вставить. А у меня часто бывает, что нужно что-то поменять\что-то убрать\что-то вписать.
                Ответить
              • а чем он так плох, вас раздражают фигурные скобочки?
                Ответить
              • facepalm.hst же,
                http://c.pastebin.com/shVJDcLw
                Ответить
                • Скобковойны! Я джва года жду такой срач ^__^
                  Ответить
              • for($x = 0; $x < $w; $x++) {
                	for($y = 0; $y < $h; $y++) {
                		$minalpha = min((imagecolorat($src_im, $x, $y) >> 24) & 0xFF, $minalpha);
                	}
                }

                А чем плох этот вариант ?
                Ответить
          • + практическая необходимость седня 1 оператор завтра потребуется чегонибудь дописать а про скобки забудешь и фиксь потом... а так все видно.
            Ответить
            • показать все, что скрытоЕсли про скобки забываешь, то встает резонный вопрос, а стоит ли вообще кодить?
              У лишней пары скобок минус в том, что растягивают код. Чем меньше строк на экране, тем понятнее и проще охватить логику, к которой скобки в данном случае не имеют ни какого отношения.
              Ответить
              • Вот именно, они к логике не имеют никакого отношения, разве это усложняет понимание кода?
                Ответить
                • > разве это усложняет понимание кода?
                  Наличие ненужных скобок? Запросто, т.к. логика разбавляется ненужной водой. Это как комментарий не к месту, вроде и не логика, но мешается.
                  Ответить
      • вам нужен питон
        Ответить
    • Видел это в движке "my gaming ladder".
      Ответить
    • бггг, register_globals не убьешь!
      Ответить
      • Зачем его только вообще придумали и зачем авторам такого УГ он нужен ? мне не понятна их логика ....
        Ответить
        • а вот был однажды случай...
          при переносе одного сайта, достаточно старого, громоздкого и очень унылого для рефакторинга, столкнулись с подобной проблемой...
          register_globals там использовался в качестве ядра сайта :) т.е. :(
          На новом сервере эта опция была отключена, включать не стали, и до такого костыля мы не додумались, пришлось руками менять на $_GETы и на $_POSTы
          Ответить
          • В phpbb 2-й версии какие-то костыли тоже применялись, точно не помню, что-то такое там было:
            if ( ! isset ($HTTP_REMOTE_ADDR) ) $HTTP_REMOTE_ADDR = $_SERVER["REMOTE_ADDR"]
            Ответить
        • ну вдруг на сервере будет он отключен, а мы включим!
          Ответить
    • называется - лень нормально переписать скрипт, не полагающийся на глобалсы
      Ответить

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