Паттерн “спецификация” предоставляет возможность описывать требования к бизнес-объектам, и затем использовать их (и их композиции) для фильтрации не дублируя запросы. Что такое спецификация? В Википедии этот паттерн описан так:…
API
DTO в PHP: как перестать передавать массивы и сделать данные понятными
Проблема DTO не относится только к Laravel. Она появляется почти в любом PHP-проекте: на Laravel, Symfony, Yii, Slim, самописном framework-free приложении или в обычном SDK. В любом фреймворке…
Предметно-ориентированный Laravel
Люди мыслят категориями, наш код должен быть отражением этих мыслей. Во — первых, я не придумал термин “домен” – я получил его из популярной парадигмы программирования DDD, или…
Принцип разделения интерфейса
Разделение интерфейса . . . Хм, это звучит не так уж плохо, не так ли? Похоже, это как-то связано с разделением . . . МММ, разделяемся . . . межфазные границы. Мне просто…
Принцип подстановки Барбары Лисков
Лисков-что?? Эта штука звучит как что-то прямо из учебника органической химии. Это может даже заставить вас пожалеть о том, что вы выбрали разработку программного обеспечения в качестве карьеры, потому что…
Принцип открытости/закрытости
Я должен сказать, что тот, кто придумал определения этих принципов, конечно, не думал о менее опытных разработчиках. То же самое происходит и с принципом “открыто-закрыто”, и те, до кого…
Принцип единственной ответственности
Писать компьютерные программы – это очень весело. Если только вам не приходится работать с чужим кодом. Если вы проработали профессиональным разработчиком более трех дней, вы знаете, что наша работа…
Отслеживание последней активности пользователей в Laravel
Такая задача встречается довольно часто, чтобы понимать, когда наш посетитель последний раз использовал наше приложение. Хотя в Laravel есть много способов сделать это, самый простой способ – это…
Паттерн проектирования Спецификация
Цель Строит четкую спецификацию бизнес-правил, где объекты могут быть проверены. В составе класса спецификации существует один метод, называемый isSatisfiedBy ,который возвращает либо true, либо false в зависимости от того, удовлетворяет ли данный объект…
Условные фильтры в Laravel
Вам когда-нибудь приходилось применять фильтры к запросу, только когда пользователь действительно применяет их? Метод Laravel query builder when() специально для вас. Недавно я столкнулся с этой же проблемой, работая над…