PHP

Последние публикации
  • Обновление старых проектов до CodeIgniter 3

    Рейтинг:
    Категория: PHP

    Если вам, так же как и мне, иногда приходится поддерживать проекты, написанные на фреймворке CodeIgniter версии 2.х, то возможно эта статья сможет облегчить вам жизнь.

    Дело в том, что последняя стабильная версия фреймворка была выпущена очень давно и многие даже успели его похоронить. Однако разработка, хоть и медленно, но продолжается. Более того, версия 3.0 достаточно стабильна, чтобы ее можно было использовать на живих проектах.

    Несмотря на то, что ничего революционного в новой версии не появилось, полезных доработок достаточно, чтобы обновить свой проект, тем более, что обратная совместимость практически не пострадала.

    Подробнее...
  • Стабильность пакетов в Сomposer

    Рейтинг:
    Категория: PHP

    Одна из достаточно распространенных проблем с которой можно столкнуться при работе с Сomposer — путаница с определением уровня стабильности stability зависимостей.

    Типичная ситуация, когда приложение зависит от пакета A:dev-master, который в свою очередь зависит от пакета B:dev-master, приводит к тому, что Composer ругается, что не может найти подходящую версию пакета B.

    Попробуем разобраться почему так происходит и как это исправить.

    Подробнее...
  • Парсим показатели социальных кнопок

    Рейтинг:
    Категория: PHP

    Сейчас, наверное, уже нет блога, на котором бы под каждым постом не было бы набора из разнообразных кнопок социальных сетей.

    Делается это для того, чтобы пользователи могли легко и просто поделиться («лайкнуть») понравившимся им контентом.

    Исходя из той логики, что интересный или полезный контент «лайкают» чаще, владельцы сайтов могли бы сделать подборку лучших новостей всего ресурса, или какой-то отдельной рубрики. Например, на основании количества «лайков» легко сделать топ-10 самых популярных статей блога.

    Для этого нужно показатели счетчика социальных кнопок как-то получить и обработать. Единого и универсального способа сделать это — нет, но это совсем не страшно :). Просто нужно учесть особенности каждой отдельно взятой социальной сети.

    Подробнее...
  • Анатомия сокращения ссылок

    Рейтинг:
    Категория: PHP

    Сегодня почему-то задумался об алгоритме работы сервисов по сокращению ссылок. А именно о том, каким образом формируется уникальный идентификатор каждой ссылки. Ведь он должен быть как можно более коротким и при этом не повторятся.

    Понятно, что все ссылки записываются в таблицу базы данных под каким-то первичным ключом, но каким образом этот ключ формировать совсем не ясно. Использование любых хеш-функций делает возможным возникновение коллизий, что для подобного рода сервисов весьма критично.

    Подробнее...
  • Как склонять существительные после числительных

    Рейтинг:
    Категория: PHP

    Хочу поделиться одной функцией на языке PHP, которой пользуюсь для вывода корректного окончания в существительных после числительного. Например: «3 места», «17 пользователей» и т.д.

    Итак вот сам код:

      function smart_ending($number, $forms, $base = '') {
        $rest = $number % 10;
        $number = (int) substr($number, -2, 2);
        if ($rest == 1 && $number != 11) return $base.$forms[0];
        elseif (in_array($rest, array(2, 3, 4)) && !in_array($number, array(12, 13, 14))) return $base.$forms[1];
        else return $base.$forms[2];
      }
    
    Подробнее...