Skip to content

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

License

Notifications You must be signed in to change notification settings

KovYu/php-clean-architecture

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

To continue in English go to README.en

PHP Clean Architecture

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

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

Установка

composer require v.chetkov/php-clean-architecture --dev

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

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

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/ и https://habr.com/ru/post/686236/

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

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

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

  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 не только к новым проектам, но и к уже существующим, и уже имеющим проблемы, устранение которых требует времени.

  1. Отчёт/Check по списку файлов

Если вы хотите осуществить проверку на наличие проблем или построить граф зависимостей и провести анализ не по всему проекту, а по некоторой его части (к примеру по списку изменённых файлов), вы можете установить значение переменной окружения PHPCA_ALLOWED_PATHS Пример использования:

export PHPCA_ALLOWED_PATHS=`git diff master --name-only` PHPCA_REPORTS_DIR='phpca-report'; vendor/bin/phpca-build-reports {?path/to/phpca-config.php}

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 88.6%
  • Twig 11.4%