Introduction to how Laravel Horizon works

Laravel Horizon is a queue manager that gives you full control over your queues, it provides means to configure how your jobs are processed, generate analytics, and perform different queue-related tasks from within a nice dashboard. In this dive we’re going to learn how Horizon boots up and handles processing […]

Creating flamegraphs with XHProf

This post assumes that the reader has created a new Git branch (and corresponding Platform.sh environment) or wishes to use an existing one to perform this work. Please see the documentation page for details on this process. The first thing we need to do is make sure that the XHProf […]

Docker + Laravel + RoadRunner = ❤

Хотелось бы начать с того, что оказалось «не лучшими практиками» в контексте предыдущей статьи: Необходимость изменять структуру файлов в репозитории Использование FPM. Если мы хотим производительности от своих приложений то, пожалуй, одним из лучших решений ещё на стадии выбора технологий будет отказ от него в пользу чего-то более быстрого и […]

Создание расширения (пакета) для Laravel 5.

Создание автономного пакета — вещь очень удобная, т.к. позволяет легко подключать и использовать для других своих (и не только) проектов. В данной статье рассмотрим процесс создания такого пакета на примере одного из моих пакетов для работы с виджетами в Laravel.Страница данного пакета на GitHub — https://github.com/klisl/laravel-widgetsНедавно я опубликовал статью Виджеты […]

Docker + Laravel = ❤

В данной статье я расскажу о своём опыте «заворачивания» Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов. «А в чём, […]

The Registry Pattern, Laravel, and Your Sanity

For those times when you need to branch out behavior based on dynamic information. Maybe you offer multiple payment providers, and let the user pick one — or maybe you just have a bunch of alternate logic paths depending on some system status. Once in a while, you run into […]

Структура приложения и пространств имён при DDD в Laravel

Я обычно разделяю большие приложения на 4-5 пространств имён, которые привязаны к глобальному app пространству имён. Например, я хочу создать приложение ToDo List, так что базовое пространство имён будет ToDo. Затем у меня есть 3 пространства имён внутри этого: App — laravel-специфичная функциональность — классы валидаторы, сервис-провайдеры базовой модели и […]

24 Tips for Using Composer Efficiently

Although most PHP developers know how to use Composer, not all of them are using it efficiently or in a best possible way. So I decided to summarize things which are important for my everyday workflow. The philosophy of most of the tips is «Play it safe», which means that […]

Bye bye JSON! Welcome Protocol Buffers!

You guys might be familiar working with REST services and its implementation in your client application. REST services are most simple method of data exchange between the client and server. Well, it’s real simple text based communication technique, and easier to learn and debug, and many tools like Postman, Insomnia […]

Основные принципы программирования: стек и куча

Мы используем всё более продвинутые языки программирования, которые позволяют нам писать меньше кода и получать отличные результаты. За это приходится платить. Поскольку мы всё реже занимаемся низкоуровневыми вещами, нормальным становится то, что многие из нас не вполне понимают, что такое стек и куча, как на самом деле происходит компиляция, в […]