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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    $page=$_GET['p'];
    
    if(abs(intval($page)).""==$page) {
    // ...
    }
    ?>

    Нашел в своём старом коде. Ну да, я тоже когда-то не знал, про is_int();

    Запостил: mr.The, 08 Августа 2010

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

    • Тут ещё и отрицательные значения не прокатят..
      Ответить
    • а зачем тут abs и .""? intval($page)==$page - хорошая замена is_int()
      это что б наверняка, и внутренний тип был тот же?
      Ответить
      • >> я тоже когда-то не знал, про is_int();
        читаем комментарий к говнокоду.
        Ответить
        • я что-то упустил?
          " intval($page)==$page - хорошая замена is_int()"
          Ответить
          • я упустил вопросительный знак и прочитал Ваш пост как шотосмешаноеводнойкуче оО
            Ответить
    • не совсем понял зачем .""
      Ответить
      • как я понял - приведение внутр. типа. А вдруг == не сработает для числа и строки!
        Ответить
        • И, надо сказать, таки не работало. 22!="22"
          Ответить
    • а про (int)$val - слышал?
      Ответить
      • Слышал. Тут мне intval($val); больше нравится. Так как-то удобнее.
        Ответить
        • intval медленней потому что функция
          Ответить
          • да,веб-приложения на PHP обычно тормозят из-за intval. Это первое место, которое я обычно оптимизирую в PHP приложениях: заменяю intval на (int)
            Ответить
            • а я думал, что веб приложения в основном тормозят из-за кривой архитектуры и кривых рук.

              Интвал на фоне всего смотрится как-то скуднинько, маленький такой незаметный тормозок
              Ответить
              • Это был сарказм
                Ответить
              • Все начинается с маленьких не заметниньких тут intval, тут пару запросов в цикле, тут кешировать не надо и так пролезет, тут давай тут кусочек из той библиотеки используем я её из инета вчера скачал товарищ в красной рубахе её написал весь инет учит как его там бишь а Евгений Попов.

                Вот так и появляются тормозные сайты.
                Ответить
                • 99% известных мне PHP сайтов тормозило из за запросов к БД. Например потому, что там на один заход делают 20 запросов, в которых джойнят таблицы по varchar 255.
                  Ответить
                  • а фига делать

                    не из космоса же инфа на сайте появляется.

                    Кешировать можно, но это другая история
                    Ответить
                    • Ну например можно почитать про базы данных, и не джойнить по варчару.

                      Можно кешировать.
                      Можно юзать memcached.

                      Можно перейти на нормальную платформу, и кешировать данные прямо в памяти, и даже обновлять их там в бекграунде.

                      Это уже и правда другая история
                      Ответить
                  • кстати да.
                    "Сайт тормозит" <=> "серьезно ли мы думали над проектированием и архитектурой"
                    Ответить
                  • Я тут в биллинге прибрал десяток запросов в цикле и база данных перестала падать.
                    Заменил на один запрос вне цикла, за него тоже можно меня попинать, но я не представляю даже как можно было придумать оригинал.
                    Ответить

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