v.chetkov/php-clean-architecture

PHP 清洁架构

0.1.4 2023-07-31 20:09 UTC

README

要继续用英文,请访问 README.en

PHP 清洁架构

一个用于自动化控制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. CI的Check。
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}