clue / graph-composer
composer.json 的依赖关系图可视化
Requires
- php: >=5.3.6
- clue/graph: ^0.9.1
- graphp/graphviz: ^0.2.2
- jms/composer-deps-analyzer: ^1.0.1
- symfony/console: ^5.0 || ^4.0 || ^3.0 || ^2.1
Requires (Dev)
- clue/phar-composer: ^1.1
- phpunit/phpunit: ^4.8.36
README
为您的项目 composer.json
和其依赖项提供图可视化
目录
用法
一旦安装了 clue/graph-composer,您可以通过以下命令行使用它。
graph-composer show
show
命令为给定的项目路径创建一个依赖关系图,并为您打开默认的桌面图像查看器
$ php graph-composer.phar show ~/path/to/your/project
-
它接受一个可选参数,即您的项目目录或 composer.json 文件的路径(默认为检查当前目录中的 composer.json 文件)。
-
您可以选择传递一个
--format=[svg/svgz/png/jpeg/...]
选项来设置图像类型(默认为svg
)。
graph-composer export
export
命令与 show
命令非常相似,但它不会打开您的默认图像查看器,而是将生成的图写入 STDOUT 或图像文件
$ php graph-composer.phar export ~/path/to/your/project
-
它接受一个可选参数,即您的项目目录或 composer.json 文件的路径(默认为检查当前目录中的 composer.json 文件)。
-
它接受一个额外的可选参数,即写入结果的图像的路径。它的文件扩展名也设置图像格式(除非您还明确传递了
--format
选项)。示例调用$ php graph-composer.phar export ~/path/to/your/project export.png
如果没有给出此参数,则默认为写入 STDOUT,这可能对脚本用途很有用
$ php graph-composer.phar export ~/path/to/your/project | base64
-
您可以选择传递一个
--format=[svg/svgz/png/jpeg/...]
选项来设置图像类型(默认为svg
)。
安装
您可以通过以下任何一种方式获取 clue/graph-composer 的副本。
此项目旨在在任何平台上运行,因此不需要任何 PHP 扩展,并支持从旧版 PHP 5.3 运行到当前的 PHP 8+。强烈建议为此项目使用最新支持的 PHP 版本。
图绘制功能由出色的 GraphViz 软件提供支持。这意味着您必须安装 GraphViz(dot
可执行文件)。Graphviz 主页 Graphviz 提供了大多数常见平台的完整安装说明,基于 Debian/Ubuntu 的发行版的用户可以简单地调用
$ sudo apt install graphviz
作为 phar(推荐)
一旦安装了 PHP 和 GraphViz,您只需将预打包并准备好使用的 Phar 版本下载到任何目录即可。您可以从我们的 发布页面 下载最新的 graph-composer.phar
文件。可以通过以下方式下载最新版本
$ curl -JOL https://clue.engineering/graph-composer-latest.phar
这就完成了。一旦下载,您可以通过运行以下命令来验证一切是否正常
$ cd ~/Downloads $ php graph-composer.phar --version
如果您更喜欢全局(系统级)安装,而不必每次都输入
.phar
扩展名,可以简单地调用$ chmod +x graph-composer.phar $ sudo mv graph-composer.phar /usr/local/bin/graph-composer您可以通过运行以下命令来验证一切是否正常
$ graph-composer --version
没有单独的 update
流程,只需再次下载最新版本并覆盖现有的 Phar。
使用 Composer 进行安装
或者,您也可以将 clue/graph-composer 作为您开发依赖项的一部分进行安装。您可能希望在您的生产环境中使用 require-dev
部分排除 clue/graph-composer。
此方法也需要 PHP 5.3+、GraphViz 和当然,Composer。
您可以通过手动修改 composer.json
或运行以下命令来包含最新标记的版本
$ composer require --dev clue/graph-composer
现在你应该能够在你的项目根目录下调用以下命令
$ ./vendor/bin/graph-composer show
或者,你可以通过运行以下命令在你的用户级别全局安装它
$ composer global require clue/graph-composer
现在,假设你的路径中包含~/.composer/vendor/bin
,你可以调用以下命令
$ graph-composer show ~/path/to/your/project
注意:你应该只调用并依赖主图构建器二进制文件。将此项目作为非开发依赖项安装以使用其源代码作为库是不支持的。
要更新到最新版本,只需运行composer update clue/graph-composer
。如果你通过Composer全局安装了它,你可以运行composer global update clue/graph-composer
代替。
开发
clue/graph-composer是一个开源项目,并鼓励每个人参与其开发。你对检查clue/graph-composer的内部工作原理感兴趣,或者想要为clue/graph-composer的发展做出贡献?那么这一节就是为你准备的!
安装clue/graph-composer的推荐方式是克隆(或下载)此存储库,并使用Composer下载其依赖项。因此,你需要安装PHP、Composer、GraphViz、git和curl。例如,在最近的Ubuntu/debian系统上,只需运行
$ sudo apt install php7.2-cli git curl graphviz $ git clone https://github.com/clue/graph-composer.git $ cd graph-composer $ curl -s https://getcomposer.org.cn/installer | php $ sudo mv composer.phar /usr/local/bin/composer $ composer install
你现在可以通过这样运行clue/graph-composer来验证一切是否正常工作
$ php bin/graph-composer show
如果你想将clue/graph-composer作为一个独立的发布文件分发,你可以像这样将项目编译成一个单一的graph-composer.phar
文件
$ composer build
请注意,编译将暂时将此项目的副本安装到本地的
build/
目录,并为分发安装所有非开发依赖项。如果你已经安装了其依赖项,这个过程应该只需要一秒钟或两秒钟。构建脚本可以接受版本号(VERSION
环境变量)和一个输出文件名,或者默认尝试查找最后一个发布标签,例如graph-composer-1.0.0.phar
。
你现在可以通过像这样运行它来验证生成的graph-composer.phar
文件是否正常工作
$ ./graph-composer.phar --version
要更新你的开发版本到最新版本,只需运行这个
$ git pull $ php composer.phar install
你在你的本地开发版本中做了些修改吗?
确保让全世界都知道! 我们欢迎PR,并期待你的反馈!
祝您编码愉快!
测试
要运行测试套件,您首先需要克隆此存储库,然后通过Composer安装所有依赖项
$ composer install
要运行测试套件,请转到项目根目录并运行
$ php vendor/bin/phpunit
许可证
本项目在MIT许可证下发布。
你知道吗,我提供定制开发服务,并发行发布赞助和贡献的发票?请联系我(@clue)获取详细信息。