"PHP" / Говнокод #4562 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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

Запостил: Мартин Мартин, (Updated )

Комментарии (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ому варианту.

              Просто я люблю не дописывать скобки, если нужно внезапно что-то вставить. А у меня часто бывает, что нужно что-то поменять\что-то убрать\что-то вписать.
              Ответить
            • а чем он так плох, вас раздражают фигурные скобочки?
              Ответить
            • for($x = 0; $x < $w; $x++) {
              	for($y = 0; $y < $h; $y++) {
              		$minalpha = min((imagecolorat($src_im, $x, $y) >> 24) & 0xFF, $minalpha);
              	}
              }

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

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8