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

    +169

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    class Banners_object extends DomainObject
    {
        function setDefaultProperties()
        {
            $this->properties = array(
              'oid' => null,
              `priority` => null,
              `title` => null,
              `link` => null,
            );
        }
    }

    При попытке создать новый объект в STDOUT вылезает что-то типа этого:

    sh: priority: command not found
    sh: title: command not found
    link: missing operand
    Try `link --help' for more information.

    Очень долго ржали

    Запостил: travka, 28 Сентября 2011

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

    • $this->properties = array(
      ...
                `reboot` => true,
      ...
      Ответить
    • Это волшебно. Как с точки зрения кода, так и языка.
      Ответить
    • Видать, я что-то пропустил насчет ПХП, или в такое время уже голова не работает, но все же спрошу: это что за чудеса с "`" ? Какого хрена происходят вызовы?
      Ответить
      • RTBFM http://www.php.net/manual/en/language.operators.execution.php
        Ответить
        • Ух ты, спасибо, а я и не знал. Думал что отправить можно только с помощью system и exec.
          Ответить
        • Пиздец, вот это извращение...
          Не знал, представьте себе! Теперь мое мнение о пхп стало еще в 2 раза хуже.
          Ответить
          • Зато какой простор для творчеств (которые потом попадут на этот сайт, ведь все тайное становится явным)!
            Ответить
            • еще печальнее то, что, судя по мануалу, нет отдельной директивы для отключения этого "замечательного" оператора, только через жопу safe mode или отключением shell_exec.
              Ответить
              • На мой взгляд это нормальный оператор, чего не нравится...
                Ответить
                • > это нормальный оператор
                  говнокод показывает, что не всегда
                  Ответить
                  • Так это товарищ был не в курсе, про обратные кавычки. Или с sql перепутал. Причём тут оператор-то...
                    Ответить
                    • Я вот тоже был не в курсе, хотя мне казалось, что весь синтаксис пыха знаю. Даже странно, что я пропустил это в доках. Лично я вообще никогда не использовал такие хитрожопые кавычки, у меня на этот счет подсознательный бзик в отношении совместимости. Мое мнение - такие операторы больше подходят языкам с нацелом на испольвование в шелле (хотя бы Perl), а в PHP это как граната с выдернутой чекой.
                      Ответить
                      • Вообще-то, нужно очень измудриться, чтобы их использовать. Но с другой стороны - это компактно и удобно (конечно, если об этом знать).
                        А что касается доков - очень часто доки по оупен сорсу изучаются не более чем дано в фале example, и кто виноват в этом и что делать?
                        Да и пых - пых сам весь как граната...
                        Ответить
                        • Со стороны пейсателей мануалов по пхп было бы логично заострить внимание читателей на том факте, что помимо одинарных и двойных кавычек используются еще и эти "обратные", смысл которых совершенно другой.
                          А не зная этих тонкостей, как раз и можно подорваться на мине...
                          Ответить
          • ты дебил
            Ответить
          • Такой же способ вызовов имеется и в perl
            Ответить
            • Да, я дебил!
              Но по крайней мере я с состоянии увидеть, что данный топик находится в категории "php", а не "perl".
              А насчет такого оператора в perl-e я уже написал выше, и если ты не умешь читать, то получается, что ты еще хуже дебила.
              Только, в отличие от пхп, в доках перла есть обобщающий раздел по этому поводу
              http://perldoc.perl.org/perlop.html#Quote-and-Quote-like-Operators

              p.s. сосни перлца
              Ответить
    • `rm -rf` => NULL,
      Ответить

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