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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
/**
 * Посылает команду удалённой машине
 * перейти по указанному адресу.
 * Рекомендуется использовать вместо Header('Location: ...');
 */
function GO( $address)
{
     Header('Location: '.$address);
}

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

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

  • комменты жгут )
    «Посылает команду удалённой машине»

    бугага)
    Ответить
  • Рекомендуется использовать вместо Header два раза в день: утром после утреннеого стула, и вечером -- за 20 минут до сна
    Ответить
  • * Рекомендуется использовать вместо Header('Location: ...');

    о да. и function kill() { die('простите я облажался');} вместо die('упс');
    Ответить
  • Команду удаленной машине? А можно ассемблерную вставку использовать?
    Ответить
  • Да, комментарий действительно попахивает.
    А функция ничего себе и очень даже полезная на начальном этапе разработки. В дальнейшем тут может быть добавлена обработка переданного url. Например для внедрения ЧПУ.
    Ответить
    • чем функция лучше ее содержания? пишите header и будет вам счастье
      Ответить
      • Данный код, конечно, не мой, но у меня используется аналогичная функция под названием redirect(). На начальных этапах разработки ее содержимое было 1 в 1 с указанным выше примером, за исключением того, что в конце еще был exit.
        Так вот, еще при проектировании приложения стало известно, что этих header-ов может быть весьма не мало. А также было сразу предусмотрено расширение функционала и гибкости приложения.
        Да, долгое время redirect выполнял такую простую функцию, но в последствии в нее были добавлены дополнительные параметры, позволяющие динамически формировать url из переданных в нее аргументов.
        Ответить
        • это, опять же, вопрос проектирования. Если тело функции есть вызов к системной функции с такими же параметрами, зачем же каждый чих обертывать? а вот когда, как у вас, чих подрос, ну это же святое дело вынести в функцию...
          Я пытаюсь доказать, что не стоит запасаться обертками на будущее, которое еще и не наступит
          Ответить
        • > но в последствии в нее были добавлены дополнительные параметры, позволяющие динамически формировать url из переданных в нее аргументов.
          лол, дайте скопипастить!
          <?php
          echo http_build_url("http://user@www.example.com/pub/index.php?a=b#files",
              array(
                  "scheme" => "ftp",
                  "host" => "ftp.example.com",
                  "path" => "files/current/",
                  "query" => "a=c"
              ),
              HTTP_URL_STRIP_AUTH | HTTP_URL_JOIN_PATH | HTTP_URL_JOIN_QUERY | HTTP_URL_STRIP_FRAGMENT
          );
          ?>

          интринсик ,типа
          Ответить
          • bugmenot, не то. Та функция применима именно к логике конкретного приложения.

            /**
             * @param string $query_string И так понятно
             * @param string $module Модуль, в который перенаправляем
             * @param bool $absolute Абсолютный или относительный
             * @param bool $furl ЧПУ или обычный
             */
            function redirect($query_string='', $module=null, $absolute=null, $furl=null){
            
            // тут формируем url
            
            header('Location: '/* готовый url */);
            exit;
            }
            Редирект осуществляется в пределах скрипта index.php.
            Ответить

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

Из-за тебя ушел bormand, guest!

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


    8