v.chetkov / php-clean-architecture
PHP 清洁架构
Requires
- ext-json: *
- ext-mbstring: *
- psr/log: *
- twig/twig: *
Requires (Dev)
- phpstan/phpstan: ^0.12.90
- squizlabs/php_codesniffer: ^3.6
This package is auto-updated.
Last update: 2024-09-19 01:39:43 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/ 中。
使用
- 生成分析报告。
vendor/bin/phpca-build-reports {?path/to/phpca-config.php}
报告可视化地显示了项目当前状态、组件之间的相互关系、它们的强度、组件与主要序列的距离,并突出显示基于配置发现的不希望依赖和其他架构问题。
- CI的Check。
vendor/bin/phpca-check {?path/to/phpca-config.php}
如果代码违反了由配置设定的限制,将通知发现的问题并终止执行。建议将此命令添加到CI中(这保证了进入构建的代码符合设定的限制)
- 允许状态。
vendor/bin/phpca-allow-current-state {?path/to/phpca-config.php}
该命令将保存项目的当前状态、现有类之间的相互关系到一个单独的文件。在后续的phpca-check运行中,将忽略与保存状态相关的问题。
这允许您轻松地将php-clean-architecture连接到新的项目,以及已经存在且存在问题的旧项目,其中问题的解决需要时间。
- 按文件列表报告/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}