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

    +149

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $flag = "yes";
    /* ... */
    if($flag) {
        $flag = $flag;
    }

    Запостил: dgkj, 28 Мая 2015

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

    • и чего они не выучат раз и навсегда
      $flag = $flag ?:  $flag;
      Ответить
    • $flag = "no";
      
      if (!$flag) {
          // почему не вызывается?!
      }
      Ответить
      • Ну а вдруг?)))
        http://jsfiddle.net/e2Lom79a/
        Ответить
        • Relevant:

          <?php
          
          var_dump(parse_ini_string('standard_lang=en')['standard_lang']);
          var_dump(parse_ini_string('standard_lang=de')['standard_lang']);
          var_dump(parse_ini_string('standard_lang=no')['standard_lang']);
          var_dump(parse_ini_string('standard_lang=es')['standard_lang']);
          var_dump(parse_ini_string('standard_lang=yes')['standard_lang']);


          Печатает:

          string(2) "en" 
          string(2) "de" 
          string(0) "" 
          string(2) "es" 
          string(1) "1"


          http://3v4l.org/8ILmg
          Ответить
      • Точно! Нужно предложить расмусу приводить строки к булу через дабл, как он любит, т. е. "no" -> 0.0 -> false. Сообщество, думаю, одобрит.
        Ответить
        • а в пхп можно?
          define("no",0.0);
          define("yes",1.0);
          Ответить
          • Можно, но обращаться к ним придётся только без кавычек. Это ж тебе не макросы всё-таки.
            Ответить
    • Я то в свои годы помню написал $_GET[l] = $l;
      А при этом пременную l нигде не объявлял и потом на форумах умолял найти баг
      Ответить
      • а ты Exception никакой не ловил при этом?
        Ответить
        • >Exception
          >PHP
          Откуда ?
          по моему нотис выпадет и все.
          Ответить
          • >по моему нотис выпадет и все.
            то есть помимо того, что можно сесть в лужу при сравнении двух строк, так можно еще сесть в лужу, при использовании необъявленных переменных?
            Ответить
            • Конечно. И от несуществующих индексов в массиве хешмапе.
              Ответить
            • Кто юзает неи объявленные переменные тот ССЗБ.
              Ответить
              • СаСай ЗаеБись?
                Ответить
              • в нормальных языка программирование такие вещи выявляются на этапе компиляции, или во время выполнения.
                var arr = [];
                arr[i] = i;
                "i" не определено
                Ответить
                • Ну пых выявит... И даже нотис в лог запишет. Но его основной принцип - show must go on.
                  Ответить
                  • угу, это как я сейчас проверял работу определенных хранимых процедур в mssql.
                    базу обновили с 2005 до 2012, и я вызываю процедуру, которая в Service Broker добавляет задание.
                    смотрю - результата нет, задание в очередь не падает.. полтора часа ковырялся, открываю Sql Server Profiler, вызываю процедуру заново, и вижу что-то типа
                    BEGIN CONVERSATION...
                    blablabla
                    The broker is disabled in the sender's database. 
                    END CONVERSATION
                    Ответить
                • Если надо падать при нотисе похопе предоставляет возможность переопределить поведение при ошибках.
                  http://php.net/manual/ru/function.set-error-handler.php
                  Ответить
              • А use strict - то нету.
                Ответить
                • Эта гадость уже в пых залезла?
                  Ответить
                  • Залезла но не там где надо.
                    Ответить
                  • Без этой, хм, гадости перлом вообще было бы нельзя пользоваться
                    Ответить
                    • ешь перловку - программируй на перле
                      Ответить
                      • хуй соси - программируй на си

                        P.S. Упс.
                        Ответить
                        • Любишь в анус сочный трах - программируй на крестах
                          Ответить
                          • чтобы хуй твой не облез - код пиши на си-диез
                            Ответить
                            • Не тревожься за мой хуй
                              Байты трахать ты пиздуй
                              Ответить
                              • Слышь, братишка, не тупи. Подрочи на пи-эйч-пи.
                                Ответить
                                • При эйч по ебал я в рот
                                  Хаскелца кусни, задрот
                                  Ответить
                                  • Секс надоел? Прими SQL!
                                    Ответить
                                    • Бывает разный ЭсКуЭл -
                                      эМэСный или оракул
                                      Но чтоб совсем ты охуел -
                                      Мускульного вьеби, мой друг
                                      Ответить
                          • коли любишь ты страпон - зацени второй питон
                            Ответить
                            • Любишь в анус пару сверл -
                              Смело юзай пятый перл
                              Ответить
                              • если в жопу хуй не влез - для тебя, дружок, жс
                                Ответить
                                • Если срёшь из всех щелей
                                  Пхп
                                  Учи быстрей
                                  Ответить
                                  • Жопа устала? Поможет scala!
                                    Ответить
                                    • Начал скалу я юзать - жопа стала остывать
                                      Ответить
                                      • Если ты крутой петух
                                        то питон твой лучший друх
                                        если лопнуло очко
                                        си не юзай не за что
                                        зацени второй питон!
                                        он для пидора - как сон
                                        в нем абстракции крутые
                                        жопы лечат голубые
                                        для питона нет преград,
                                        жопа, рот, любой формат.
                                        Ответить
                                        • >>...в нем абстракции крутые
                                          жопы лечат голубые

                                          За это я и люблю гк. Временами тут проскакивают гениальные фразы.
                                          Ответить
                                        • >зацени второй питон!
                                          второй-это легаси, братиш
                                          Ответить
                                          • хотя он и легаси, все равно находится много голубожопых товарищей, которые используют исключительно его. кто не ловил ошибок из за разницы в синтаксисе 2 и 3 - не мужик
                                            Ответить
                                            • > второй-это легаси
                                              Это только в его влажных фантазиях.

                                              Куча людей сидит на втором пистоне, ибо неясно, зачем нужен третий пистон.
                                              Ответить
                                              • на втором сидят питухи. У третьего питончика есть asyncio, нормальная работа с unicode, и еще масса всяких ништяков, но у питухов питушыние дистрибутивы с пистоном 2.6, и потому они ничего не могут сделать (ведь собирать из сорцов питухи не умеют)
                                                Ответить
                                                • просто некоторым питушиный пистон нужно только в качестве клея, а весь многопоточный и асинхронный код давно написан на нормальных типизированных языках и дёргается через биндинги.
                                                  Ответить
                                                  • пайтон это типизированный язык, причем строго типизированный, питушышка ты неграмотная)
                                                    Ответить
                                                  • Так это не питонисты, а шкриптовая склизь, пишущая си на питоне.
                                                    Ответить
                                              • Скриптопиздодрочерам неясно, веб няши давно на 3.
                                                Ответить
                            • если ты тупой питух
                              пхп твой лучший друг.
                              если обезъян тупой
                              база мускуль выбор твой
                              Ответить
                              • Если вялый твой питон
                                Выбирай язык пуфон
                                Он не станет тверже, друг
                                Но узнают все вокруг
                                Ответить
                        • А теперь танцуем!
                          Ответить
        • Нет, определенно не ловил.
          У меня Обычный денвер
          Ответить
          • При чём тут Денвер? В нём пых какой-то особенный?
            Ответить
          • А Денвер это же система для неграмотных питухов, которые даже apache сами поставить не могут потому что "там всё по-английски", да?
            Ответить
            • это система, которая вместо "установить апач, сконфигить апач, установить ему дружественный(! квест еще тот) пхп, включить нужные модули пхп, установить мускул, проинициализировать мускул, поставить пхпмайадмин, настроить пхпмайадмин, установить и настроить почтовую заглушку, скачать и котенка(томкат) и привязать его к апачу" дает сценарий "скачать-установить-работай!". И это фигня, есть киллер-фича, где виртуальный хост можно организовать созданием двух поддиректорий в корне (нигде такого скрипта не видел)
              это в линухе решается еще при установке нужными галочками, а в винде на такой сценарий без Денвера (или xampp) я полдня убивал.
              поэтому не потому что "там всё по-английски", а потому что "заебешься день тратить только на установку нужной фигни"
              Ответить
              • В денвере теперь и томкат есть? О_о
                Ответить
                • и да, все это можно поставить как виндовые сервисе (запускаются в фоне при старте системы и заботы не просят)
                  Ответить
                  • От админа?
                    Ответить
                    • Денвер же только для разработчика. И доступен, емнип, только с локалхоста. Так что похуй. Никто не собирается юзать его в продакшене.
                      Ответить
                      • Логично, нах денвер когда есть нормальный тестовый сервер
                        Ответить
                      • А, это часть денвера.
                        Ответить
                        • В PHP 5.4+ уже есть встроенный тестовый сервер. Правда, он тупой...
                          Ответить
                          • насколько тупой?
                            Ответить
                            • Нельзя добавить виртхост простым созданием папки.
                              Usage:
                                 php [options] -S <addr>:<port> [-t docroot]
                                -S <addr>:<port> Run with built-in web server.
                                -t <docroot>     Specify document root <docroot> for built-in web server.

                              Запустить его можно только для одного сайта. Для более-менее серьёзного тестирования даже на локалхосте перед ним придётся ставить реверс-прокси.

                              Перезапуск процессов вручную, из коробки как служба не ставится.

                              Зато для тестирования сайтов на фреймворках типа ZF или Symfony писать правила для mod_rewrite не нужно:
                              php -S mysite.localhost:80 -t /www/mysite/htdocs /www/mysite/htdocs/index.php

                              Все запросы будут направлены к index.php.

                              Правда, чтобы отдать статику, придётся писать проверку типа такой:
                              if (php_sapi_name() == 'cli-server') {
                                 $path = pathinfo($_SERVER["SCRIPT_FILENAME"]);
                              
                                 if (preg_match('/^(?:css|gif|html?|jpe?g|js|png|svg|txt)$/', $path["extension"])) {
                              	return false;
                              // возвращаем false, чтобы встроенный сервер сам отдал файл.
                                 }
                              
                              // выполним проверку для файлов, не распознаваемых встроенным сервером.
                              if (strpos($_SERVER['REQUEST_URI'], '/static/') === 0) {
                                  	header("Content-Type: " . $mimetypes[$path["extension"]]);
                                  	readfile($_SERVER["SCRIPT_FILENAME"]);
                              	return true;        
                              }
                              }
                              // если не статика, продолжим дальше обработку
                              Ответить
                              • что ты пытаешься доказать? что даже в таком говнище как пхп уже есть встроенный сервер?
                                Ответить
                                • Разве я что-то пытался доказать?

                                  А что пытаешься доказать ты? Что способен читать комментарии?
                                  Ответить
                                  • Фу, ты знаешь про особенности современного пхп? небось пописываешь на пыхе в тайне, пока никто не видит?

                                    Не трогай меня больше этими руками
                                    Ответить
                                • >>что даже в таком говнище как пхп уже есть встроенный сервер?

                                  Баяниссимо, гость!..
                                  Интересно, как бы конардо отреагировал на эту дерость. Наверняка был бы гомосексуальный опус с элементами зоопедофилии.
                                  Ответить
                              • В django так же ведь.
                                Ответить
              • а зачем пыхе томкат?
                Ответить
              • Зачем нужен питушиный Денвер, в котором хрен разберёшься, когда есть более дружелюбный XAMPP?
                Ответить
                • нет поддержки виртхостов простым созданием папок
                  Ответить
                  • хост создается в два шага:
                    1) добавлением записи в hosts
                    2) добавлением virtual host в конфиг апача

                    но хотя откуда ПХПшнику знать такие сложные вещи?
                    Ответить
                  • Так некоторые сайты всё равно требуют дополнительной конфигурации. Тот же Zend Framework требует настройки mod_rewrite.
                    Ответить
                    • На этот случай Lure нанимает админа. И 1024 тоже нанимает. Они же PHP программисты, и таким тонкостям как настройка модрверайта не обучены
                      Ответить
                      • а нахуй это нужно вообще в 2015 году?
                        Ответить
                        • нахуй нужно что? модреврайт?
                          ну почитайте про API апача, может поймете зачем оно нужно
                          Ответить
                          • nginx не то же самое делает?
                            Ответить
                            • И nginx, и Лайти, и ещё 100500 серверов умеют делать то же самое. Ключевой момент здесь: нельзя добавить виртхост простым созданием папок, поэтому приходится читать документацию по серверу.
                              Ответить
                              • >поэтому придется нагуглить и скопипастить пример
                                Ответить
                                • Если есть готовые примеры, тем более трудно понять, почему ручное добавление хоста ставит некоторых в тупик.
                                  Ответить
                              • в программировании вообще часто прихродится читать документацию

                                умение читать не нужно только пользователям денвера и похапистам
                                Ответить
                                • Ну вообще если можно сделать проще - почему бы и не сделать.
                                  Ответить
                          • я это делал 12 лет назад
                            было нужно для роутинга из ?foo=1&bar=2&baz=3 в foo/1/bar/2/baz/3, что уже давно умеет делать любой фреймворк на любом языке
                            делать из апача реверс прокси - ебанулись, при живом то нжинксе?
                            поэтому ещё раз - нахуй это нужно в 2015 году?
                            Ответить
                          • Под "нахуй нужно" имелось в виду не "что оно делает", а именно "нахуй это нужно вообще в 2015 году".

                            // К.О.
                            Ответить
              • >>ему дружественный(! квест еще тот) пхп
                да, квест такой квест! нужно прочитать про модули в apache, и научиться их ставить! Без трех докторских степеней обычно этого не сделать.

                >>установить мускул, проинициализировать мускул
                про.. што?

                >>поставить пхпмайадмин, настроить пхпмайадмин
                зачем?

                >> решается еще при установке нужными галочками
                ))))))какими галочками?

                >>"заебешься день тратить только на установку нужной фигни
                ну я же говорю: раньше тупые неосиляторы не могли быть веб программистами: если ты настолько туп, что не осилил поставить апаче, что иди в шашлычную уборщиком. А благодаря денверу даже микроцефалы стали делать уебсайтики
                Ответить
                • Не пойму, это пишет школокулхацкер, который месяц назад узнал про пхп, неделю назад поставил весь набор софта и сегодня пришёл на ГК рассказать о том, какой он крутой, или советский дед-программист, в школе делавший уроки как можно быстрее, чтобы не тратить керосин, на работе вручную правивший код на перфокартах, а теперь утверждающий, что и писать надо всегда на ассемблере без ГЦ, и ничего кроме ко-ко-консоли не нужно, а видео можно ASCII-питухом отображать.

                  Вот хочу я ПХП выучить, мне теперь с сервером пердолиться надо? Или может мне ещё интерпретатор ПХП написать для этого?

                  Ну так идите на хабр (инвайт) в раздел про хаскель (порог вхождения) и общайтесь с такими же професси аналами.
                  Ответить
                  • Твоя ненависть к Хаскеллю и тупая сортирная шуточка про "професси" выдает в тебе тупую школоту, которая пахабщиной маскирует свою тупость, ущербность и отсутствие подружки:)
                    Ответить
                    • > ненависть к Хаскеллю
                      лол нет

                      Это моя ненависть к жабе и питону и тупая сортирная шуточка про "професси" выдает во мне тупую школоту, которая пахабщиной маскирует свою тупость, ущербность и отсутствие подружки, а Хаскель я уважаю.
                      Ответить
                      • какой ты всё-таки малосимпатичный собеседник...
                        Ответить
                        • Дядинька, извените, в сентибре перийду в восьмой класс и исправлюсь.
                          Ответить
                          • Ты хуй
                            Ответить
                          • Ты вместо того, чтобы дерзить, лучше бы спасибо сказал мне, и другим взрослым людям за то что мы с тобою возимся тут, уму разуму учим, что бы ты, остолоп-переросток, человеком стал!
                            Ответить
                • >>если ты настолько туп, что не осилил поставить апаче, что иди в шашлычную уборщиком
                  Я очень болезненно отношусь к подобным колкостям, но тут с радостью понял, что данный опус не касается меня; Я ставил апач )
                  Ответить
                  • Теперь ты сможешь стать старшим уборщиком!
                    Ответить
                  • ты ставил, а 1024 и лур -- не осилили

                    1024 вообще ничего кроме сраного JS не осилил (очевидно потому что у Дениса Попова есть только курсы по JS), и эти люди еще имеют дерзость рассуждать о программировании!!
                    Ответить
            • Нет! Могу, на впс не раз устанавливал всю эту дичь
              Ответить
              • Ну и весь денвер со всеми бд и файлами легко бэкапить.
                Ответить
    • Да.
      Ответить

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