ЧИСТАЯ АРХИТЕКТУРА PHP
Чистая архитектура - это набор принципов и практик, созданных Робертом Мартином (также известным как «Дядюшка Боб»). Она ориентирована на создание гибких, расширяемых и тестируемых приложений.
Главным принципом чистой архитектуры является разделение кода на слои, каждый из которых отвечает за конкретную область функциональности. Слои обмениваются данными друг с другом через строго определенные интерфейсы, что позволяет избегать проблем с зависимостями и способствует улучшению тестируемости.
Пример реализации чистой архитектуры на PHP:
namespace MyApp\Web\Controller;
use MyApp\Core\Request;
use MyApp\Core\Response;
use MyApp\Domain\User\Repository\UserRepositoryInterface;
class UserController {
private $userRepository;
public function __construct(UserRepositoryInterface $userRepository) {
$this->userRepository = $userRepository;
}
public function index(Request $request): Response
{
$users = $this->userRepository->findAll();
return new Response('user/index.html.twig', ['users' => $users]);
}
}
Выше приведен пример контроллера, который основан на чистой архитектуре. Контроллер не имеет прямого доступа к базе данных, а взаимодействует с ней через интерфейс UserRepositoryInterface. Это позволяет изменять реализацию UserRepositoryInterface без изменения кода контроллера.
Чистая архитектура и Domain-Driven Design
Почему мы всегда недовольны своим языком? / Перевод вступления легендарной лекции Мартина
PHP-линч #10 • myclabs/deep-copy • чистая архитектура
Создаем масштабируемую архитектуру
LARAVEL + Clean Architecture // Роман Постников
#Backend Денис Цветцих. Чистая архитектура на практике