Это небольшая статья о том, как работать с временными зонами при хранении значений даты / времени в базе данных. Базы данных или язык программирования, который вы решите использовать, решающего значения не имеет, так как описываемые в статье явления универсальны. Свои действия я буду показывать на примере использования связки MySQL и […]
Рубрика: Статьи чтобы набрать классы
Composer: Управление версиями
Если вы не знаете, что такое Composer, немедленно переходите на сайт Composer и начинайте изучать. Я знаю многих людей, которые сталкиваются с ограничениями, связанными с использованием Composer-зависимостей. Надеюсь, этот пост поможет пролить свет на то, почему некоторые моменты при работе с версиями являются нежелательными и как их избежать. Я начну свой пост […]
Управление событиями в Laravel
В этой статье мы попробуем разобраться как запускать события и как их обрабатывать. Напомню, что событие — это своего рода сообщение, возникающее в определенный момент времени. Некоторые события уже определены в Laravel, но в основном эта задача ложится на плечи разработчика. И так, у нас есть сообщение. Оно, как правило, […]
События в Laravel. Введение
Любое серъезное приложение имеет механизм событий. Они позволяют взаимодействовать различным функциональным частям приложения друг с другом. И Laravel не исключение. Начать изучение можно с официальной документации (на русском языке). Несмотря на довольно подробное описание, у начинающих знакомится с Laravel возникает большое количество вопросов. Это потому, что этот материал хоть и не сложный, […]
Копирование объектов в PHP
Данную статью меня побудил написать один интересный момент с объектами, который многие новички, освоив азы языка PHP, до конца не понимают. Давайте рассмотрим следующий код: class SomeClass{ public $foo=»bar»; }; $instance = new SomeClass(); // Создаём объект $reference =& $instance; // Создаём ссылку на объект $assignment = $instance; // Новой […]
Порассуждаем о Laravel и ModX
По мере возможностей знакомлюсь с Laravel. Как человек, увлекающийся программированием, чувствую себя как ребёнок в магазине игрушек. Столько интересного. Тут используются почти все современные техноголии — и композер и внедрение зависимостей (Dependency Injection) и полноценная поддержка контроля версий и модульное тестирование и удобная возмножность привыкнуть к стилю работы в командной […]
Разберёмся с Composer
В этой статье я постараюсь раскрыть некоторые моменты, которые часто бывают непонятны начинающим осваивать Composer пользователям. Я не буду рассказывать что такое Composer и как установить. Такой информации уже предостаточно. А вот что такое composer.lock файл или почему команда install не устанавливает указанный пакет смогут ответить не все. Поэтому давайте пробежимся по этим вопросам. […]
PHP-FPM. НАСТРОЙКА И ТЮНИНГ
php-fpm – PHP FastCGI менеджер процессов. Используется в связке с nginx + php. По моему мнению лучшая связка для веб-сайтов. Цель Разобраться в параметрах конфигурации, и решить проблему, которая возникла на продакшен сервере с чрезмерным потреблением оперативной памяти. Произошло это потому, что php-fpm породил множество дочерних процессов, которые с радостью съели […]
Настройка и highload-тюнинг php-fpm
Попробуем определить каким образом можно повысить производительность сервера приложений на базе php-fpm, а также сформировать чек-лист для проверки конфигурации fpm процесса. Прежде всего стоит определить расположение файла-конфигурации пула. Если вы устанавливали php-fpm из системного репозитория, то конфигурация пула www будет расположена примерно тут /etc/php5/fpm/pool.d/www.conf. В случае если используется свой билд или другая ОС […]
Оптимизация PHP-FPM: максимальная производительность и pm static
Давайте кратко рассмотрим, как лучше настроить PHP-FPM для высокой пропускной способности, низкой задержки и более стабильного использования процессора и памяти. В большинстве дефолтных настроек PHP-FPM есть строка с PM (process manager), установленным в dynamic, а также рекомендации по использованию ondemand, в том случае если вы столкнулись с проблемами доступной памяти. Однако, давайте взглянем […]