Data Transfer Object (Объект передачи данных) — паттерн программирования, который, при правильном использовании, может улучшить качество код и удобство его…
паттерны
Шаблоны проектирования на примерах Laravel
Паттерн Action-Domain-Responder
Является усовершенствованием паттерна Model-View-Controller и более удобен для создания веб-приложений. Большинство фреймворков на данный момент использует MVC. Впервые он был…
Паттерн «Двойная диспетчеризация»
Рассмотрим паттерн программирования известный как Двойная диспетчеризация (Double Dispatch). Выбор вызываемого метода зависит только от объекта, получающего вызов. В большинстве…
Паттерн «Посетитель» в Laravel
Laravel Visitor — это реализация паттерна программирования «Посетитель» для фреймворка Laravel. Он позволяет легко выполнить обработку набора произвольных элементов, без…
Паттерн Фабричный метод — продвинутая версия
Фабричный метод — это паттерн программирования, который используется для получения экземпляров объектов на основе некоторого заданного параметра. В своих PHP-проектах,…
Скрытый класс Manager
При создании приложений вам может понадобиться класс, который принимает разные реализации чего-либо. Например, курьеру доставки может понадобиться любой транспорт, чтобы…
Уменьшаем сложность кода с помощью гвардов
Гвард (guard)— это фрагмент кода в верхней части функции или метода, который делает return, если выполняется некоторое предварительное условие. Я…
Паттерн «Сервисный слой» в Laravel
Сервисный слой (Service layer) — это шаблон проектирования, который поможет вам абстрагировать логику от логики предметной области (domain logic), при…
Паттерн «Адаптер» в Laravel
В этой статье мы рассмотрим, как можно использовать шаблон проектирования «Адаптер» в Laravel и его преимущества на примере из реальной…
Паттерн «Декоратор»
Паттерн Декоратора — это шаблон проектирования, который позволяет добавлять поведение экземпляру класса, не влияя на поведение других экземпляров того же…
Паттерн «Репозиторий» в Laravel
В этой статье я расскажу, как настроить с нуля паттерн Репозиторий (Repository, Хранилище) в Laravel. Использую версию Laravel 5.8, но…