041. 解析项目中的 Composer 依赖——lubusin/laravel-decomposer

解析项目中的 Composer 依赖——lubusin/laravel-decomposer

今天要学习的扩展包 lubusin/laravel-decomposer 可以解析已安装的软件包及其相关的依赖,功能非常简单,但是很实用,我们快速安装并了解一下。

安装

$ composer require lubusin/laravel-decomposer

如果你只在开发环境使用这个扩展包,记得增加 --dev 参数。

file

使用

查看扩展包依赖

使用以来只需要添加一个路由就行了,扩展包已经写好了相关的逻辑:

routes/web.php

.
.
.
Route::get('decompose','\Lubusin\Decomposer\Controllers\DecomposerController@index');

访问 http://larabbs.test/decompose

file

可以看到已安装的所有的扩展包,和扩展包的依赖,右侧是项目运行的环境信息。我们可以 重写扩展包视图,将这个视图嵌入到我们自己的后台系统中,方便测试以及运维人员快速了解环境信息。

同时搜索功能也非常好用,之前的课程中有提到过 composer why 命令用来查看项目为什么会安装某个依赖,比如我们查看一下 torann/geoip 这个项目 。

file

file

可以看到我们的项目本身和 laravel-visits 都依赖了 torann/geoip,不过扩展包提供的信息要更加全面。

导出环境报告

环境数据对于我们调试是十分有帮助的,有时候检查一下环境,一眼就能看出来问题出在哪。当我们去 github 中提 issue,或者到 laravel-china 中提问题,尽量提供更多的环 境信息也能节约彼此的时间。

点击上面的 Get System Report 按钮就可以快速导出一份项目的环境信息,格式为 markdown
file

导出其他格式的报告

添加两个调试路由:

routes/web.php

.
.
.
Route::get('decompose/array', function() {
    dd(Lubusin\Decomposer\Decomposer::getReportArray());
});

Route::get('decompose/json', function() {
    dd(Lubusin\Decomposer\Decomposer::getReportJson());
});

访问 http://larabbs.test/decompose/json
file

访问 http://larabbs.test/decompose/array
file

代码版本控制

$ git add -A
$ git commit -m 'lubusin/laravel-decomposer'

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2
发起讨论 只看当前版本


终生学习者
作者辛苦了,赞赞赞赞
3 个点赞 | 0 个回复 | 问答
Yietion
如果有中文包翻译就好了
1 个点赞 | 1 个回复 | 分享