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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    $sw = false;
    if($valid_from && $valid_to)
    	if( ($valid_from<=date('U')) && ($valid_to>=mktime(0,0,0,date('m'),date('d'),date('Y'))) )
    		$sw = true;
    	else
    		{
    			//Nimic
    		}
    elseif($valid_form)
    	if($valid_form<=date('U'))
    		$sw = true;
    	else
    		{
    			//Nimic
    		}
    elseif($valid_to)
    	if($valid_to>=mktime(0,0,0,date('m'),date('d'),date('Y')))
    		$sw = true;
    	else
    		{
    			//Nimic
    		}
    else
    	$sw = true;

    Запостил: Edd, 04 Декабря 2012

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

    • Și comentariile sunt în română?
      Ответить
    • какое-то синтетическое говно
      Ответить
    • > if($valid_from && $valid_to)
      > elseif($valid_form)
      Ответить
      • valid_from
        valid_form
        vaild_from
        vaild_form
        Ответить
      • Самое замечательное, что покладистый PHP даже не вякнет и послушно исполнит код.
        Ответить
        • Именно поэтому языки, в которых переменные не нужно описывать явно, — говно.
          Ответить
        • Вякнет, еще как. При первом использовании неинициализированной переменной пхп выдает нотис. Просто типичный пыхер их не читает (а зря), а потом ломает голову над тем, что же тут не так.
          Ответить
          • Прочитал нотис - поставил собачку.
            Ответить
            • Поставил собачку - сократил себе жизнь на час.
              Ответить
              • Всем собачки в этом треде!
                Ответить
                • котят, все любят котят
                  Ответить
                  • В PHP никогда не будет котят. И нормальной обработки ошибок.
                    Ответить
                    • Я вас разочарую, там есть обработка ошибок, все зависит от кодера на самом деле.
                      Ответить
                      • Только какая-то причудливая. Не знаю, что там сейчас, но в старых версиях что-то ловилось трайкетчем, что-то - нет; что-то возвращало коды ошибок, что-то возвращало ложь и надо было дополнительно вызывать get_somecrap_errorcode(). Я видел парочку велосипедов, их авторы были явно этим зоопарком озадачены и начинали с того, что изобретали хитрые обёртки вокруг всего этого, чтобы сделать хоть как-то, но однообразно.
                        Потому один знакомый проект когда начинался, волевым решением было принято - только 5.3+, только хардкор. Никакой обратной совместимости, катитесь нахер. И повышать при новых релизах.
                        Ответить
                      • Я знаю, что можно преобразовывать нотисы и прочее говно в исключения, но меня жутко бесит, что это все не по умолчанию и из-за этого приходится проводить долгие часы, разгребая кучи чужого кода с собачками.
                        Ответить
          • Far, far away:
            $valid_from = $something->get();
            ...
            if (isset($_GET['valid_form'])) $valid_form = $_GET['valid_form'];
            ...
            if($valid_from && $valid_to)
            ...
            elseif($valid_form)
            ...
            No problem!
            Ответить
            • Ну так да. Но так и в языках, где переменные объявляют заранее, никакой диагностики мы не увидим...
              Ответить

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