В PHP-проектах часто используют классы под конкретные сценарии приложения. Где-то их называют Action, где-то UseCase, где-то ApplicationService, где-то CommandHandler. Названия разные, но идея одна: отдельный класс описывает конкретное…
PHP
Исключения в PHP и Laravel: что это, зачем нужны и как применять
Исключения в PHP часто воспринимают слишком узко: как способ “поймать ошибку” через try/catch. Из-за этого в проектах появляются две крайности. Первая — исключения почти не используют. Методы возвращают…
Агрегаты в Domain-Driven Design: что это и как проектировать без ошибок
Агрегаты в Domain-Driven Design часто понимают неправильно. Разработчик видит таблицы orders, order_items, products, users, переносит эти связи в объектную модель один к одному и считает, что теперь у…
Стоит ли делать валидацию прямо в Entity? Ответ изнутри DDD
Когда мы говорим о Domain-Driven Design, один из частых вопросов, которые я слышу: “А нужно ли вообще делать валидацию в Entity? Это же бизнес-логика, а не проверка форм.”…
Прекратите использовать “extends” в PHP
Архитектура многих фреймворков зачастую требует расширения своих классов. Но сегодня речь только про чистый от фреймворков код, за который вы и/или ваша команда несет ответственность. В первую очередь…
PHP Digest 08.2022
Оригинал [EN] Приветствую всех! Добро пожаловать в августовский выпуск PHP Annotated, где мы расскажем о самых интересных событиях, произошедших в мире PHP за последний месяц, включая новости, статьи,…
Красивые маршруты в Laravel
Пакет для Laravel, который добавляет команду route:pretty Команда предназначена для красивого вывода в консоль доступных в приложении роутов. Установка composer require wulfheart/pretty_routes Использование php artisan route:pretty php artisan…
Что такое макросы Laravel и как расширить основные классы Laravel с их помощью?
Макросы Laravel – это отличный способ расширить основные macroable классы Laravel и добавить дополнительную функциональность, необходимую для вашего приложения. Проще говоря, макрос Laravel – это подход к добавлению…
Использование laravel query builder без жесткой привязки к именам таблиц
Проблема: Иногда может возникнуть необходимость использовать Laravel query builder вместо Eloquent либо из-за проблем с производительностью, либо из-за сложности запроса. Первая проблема, с которой вы могли столкнуться при использовании построителя запросов,…
Под капотом: как работают атрибуты модели в Laravel
Атрибуты модели Laravel в основном представляют поля базы данных для данной модели. Когда данные извлекаются из базы данных, к ним можно получить доступ через модель, поскольку они были фактическими…