Паттерн “спецификация” предоставляет возможность описывать требования к бизнес-объектам, и затем использовать их (и их композиции) для фильтрации не дублируя запросы. Что такое спецификация? В Википедии этот паттерн описан так:…
PHP
DTO в PHP: как перестать передавать массивы и сделать данные понятными
Проблема DTO не относится только к Laravel. Она появляется почти в любом PHP-проекте: на Laravel, Symfony, Yii, Slim, самописном framework-free приложении или в обычном SDK. В любом фреймворке…
Принцип открытости/закрытости
Я должен сказать, что тот, кто придумал определения этих принципов, конечно, не думал о менее опытных разработчиках. То же самое происходит и с принципом “открыто-закрыто”, и те, до кого…
Принцип единственной ответственности
Писать компьютерные программы – это очень весело. Если только вам не приходится работать с чужим кодом. Если вы проработали профессиональным разработчиком более трех дней, вы знаете, что наша работа…
Отслеживание последней активности пользователей в Laravel
Такая задача встречается довольно часто, чтобы понимать, когда наш посетитель последний раз использовал наше приложение. Хотя в Laravel есть много способов сделать это, самый простой способ – это…
Паттерн проектирования Спецификация
Цель Строит четкую спецификацию бизнес-правил, где объекты могут быть проверены. В составе класса спецификации существует один метод, называемый isSatisfiedBy ,который возвращает либо true, либо false в зависимости от того, удовлетворяет ли данный объект…
Условные фильтры в Laravel
Вам когда-нибудь приходилось применять фильтры к запросу, только когда пользователь действительно применяет их? Метод Laravel query builder when() специально для вас. Недавно я столкнулся с этой же проблемой, работая над…
Надо ли писать тесты?
В прошлом посте я обсудил документацию, которую неплохо бы писать в большинстве случаев. См также Как сделать тестирование приложений проще и читабельнее Сегодня поговорю про тесты. На мой взгляд, с…
Микросервисы, автодеплой, легаси и внутрянка PHP
06:13 – Хочешь понять PHP? Думай как PHP (Роман Ананьев, Simtech Development) 37:29 – Вопросы из зала и трансляции 57:40 – Автодеплой Laravel-сервисов с Deployer, pm2 и GitLab….
Работа с таймзонами, DDD и единый формат обработки ошибок
07:30 – Работаем с таймзонами в PHP правильно: как не оказаться на пороховой бочке? (Алексей Сундуков, ZeBrains) 30:32 – Вопросы из зала и трансляции 57:22 – Организуем единый…