bigwhoop / php-extract-class-components
从PHP类中提取组件(相互交互的方法和属性)。结果可以可视化,有助于拆分类。
2.0.0
2024-03-10 19:57 UTC
Requires
- php: ^8.2|^8.3
- nikic/php-parser: ^5.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^11
This package is auto-updated.
Last update: 2024-09-10 21:26:35 UTC
README
这个小工具通过显示类的方法和属性之间的关系来帮助您可视化类的内聚性。它通过显示类可以如何拆分来帮助您遵循SRP(单一职责原则)。
class Example { private $a; private $b; private $c; public function a(): void { $this->a; } public function ab(): void { $this->a; $this->b; } public function c(): void {} }
如何安装
composer require bigwhoop/php-extract-class-components
如何使用
vendor/bin/php-class-components-extractor Path/To/Your/Class.php
查看-h
选项以获取更多信息
Usage: ./class-components-extractor [options] input Arguments: input Path to a PHP file or - to use STDIN Options: -h --help Shows this help -f --format <format> Output format to use. One of the followwing: json JSON (default) text Human-readable representation graphviz Graphviz's graph description language Examples: ./class-components-extractor file.php ./class-components-extractor file.php > components.json ./class-components-extractor --format text file.php ./class-components-extractor --format graphviz file.php | dot -Tpng -o diagram.png cat file.php | ./class-components-extractor --graphviz - | dot -Tpng -o diagram.png
贡献
如何运行测试
vendor/bin/phpstan vendor/bin/phpunit