2

GitHub - Chetkov/php-clean-architecture: Инструмент для измерения качества, упро...

 2 years ago
source link: https://github.com/Chetkov/php-clean-architecture
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

PHP Clean Architecture

Инструмент для автоматизации контроля над качеством архитектуры приложений написанных на PHP, а также упрощения анализа и визуализации некоторых метрик.

Идея его создания была навеяна книгой "Чистая Архитектура" (Роберта Мартина). Если еще не читал можешь ознакомиться с её ключевыми идеями, на которых базируется инструмент https://habr.com/ru/post/504590/

Установка

composer require v.chetkov/php-clean-architecture

Конфигурация

Далее копируем образец конфига в корень проекта

cp vendor/v.chetkov/php-clean-architecture/example.phpca-config.php phpca-config.php

Все детали конфигурации подробно описаны в образце конфига https://github.com/Chetkov/php-clean-architecture/blob/master/example.phpca-config.php, и второй части статьи https://habr.com/ru/post/504590/

Использование

  1. Формирование отчета для анализа.
vendor/bin/phpca-build-reports {?path/to/phpca-config.php}

Отчет визуализирует текущее состояние системы, наглядно отображает взаимосвязи между компонентами, их силу, удалённость компонентов от главной последовательности, а также подсвечивает обнаруженные, на основе конфига, нежелательные зависимости и прочие архитектурные проблемы.

  1. Check для CI.
vendor/bin/phpca-check {?path/to/phpca-config.php}

В случае нарушения кодом ограничений, заданных конфигом, информирует об обнаруженных проблемах и завершает выполнение с ошибкой. Рекоммендуется добавить запуск этой команды в процес CI (это гарантирует соответствие кода, попавшего в сборку, настроенным ограничениям)

  1. Разрешенное состояние.
vendor/bin/phpca-allow-current-state {?path/to/phpca-config.php}

Команда сохранит текущее состояние проекта, взаимосвязи между существующими классами, в отдельный файл. При последующих запусках phpca-check, проблемы относящиеся к сохраненному состоянию будут проигнорированы.

Это дает возможность легко подключать php-clean-architecture не только к новым проектам, но и к уже работающим, в которых уже есть ряд проблем, устранение которых требует времени.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK