在 Laravel About 命令中添加有用信息

发布日期:作者:

Add Useful Info to the Laravel About Command image

Laravel 9.21 中发布的 Laravel about 命令提供了对应用程序重要配置的出色概述。默认情况下,它列出环境详细信息、缓存状态和配置的驱动程序

新 about 命令的另一个巧妙功能是允许包添加有用的信息。例如,我们已经在 Laravel News 上介绍了 Filament 组件;在 Laravel 9.21 发布后,Ryan Chandler 提交了一个 拉取请求以将有用的插件详细信息 添加到 Filament。

我认为我们将看到许多包作者将有用的详细信息添加到 about 命令中。希望最终用户不会被过多的信息淹没,或者包开发者使 about 命令中数据的包含可配置。

有了这个介绍,您将如何向 about 命令添加自定义数据?

您可以在服务提供者中执行此操作,在服务提供者的 boot() 方法中使用 AboutCommand::add() 方法。

在以下示例中,假设我想让我的包或应用程序输出特定的 XDebug 配置值

use Illuminate\Foundation\Console\AboutCommand;
 
// ...
 
public function boot()
{
AboutCommand::add('XDebug Settings', [
'Client Port' => fn() => ini_get('xdebug.client_port'),
'Client Host' => fn() => ini_get('xdebug.client_host'),
'Start With Request' => fn() => ini_get('xdebug.start_with_request'),
'Max Nesting Level' => fn() => ini_get('xdebug.max_nesting_level'),
'Mode' => fn() => ini_get('xdebug.mode'),
'Output Dir' => fn() => ini_get('xdebug.output_dir'),
'Log' => fn() => !empty(ini_get('xdebug.log')) ? ini_get('xdebug.log') : 'No Value',
]);
}

根据您的 XDebug 配置,以上内容可能在本地看起来像这样

延迟加载

在创建自定义 about 命令时需要注意的一点是,您应该通过将设置包装在一个 fn() => 箭头函数中来延迟加载输出。例如

-'Client Port' => ini_get('xdebug.client_port'),
+'Client Port' => fn() => ini_get('xdebug.client_port'),

我很期待看到包作者开始向此命令添加哪些有用的信息!

Paul Redmond photo

Laravel News 的撰稿人。全栈 Web 开发人员和作家。

Cube

Laravel 新闻简报

加入 40k+ 其他开发人员,永不错过新的技巧、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

不妥协

Joel 和 Aaron,来自 No Compromises 播客的两位经验丰富的开发人员,现在可以为您的 Laravel 项目雇用。 ⬧ 固定费率为 $7500/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

不妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版 Laravel 版本?即时、自动化的 Laravel 升级和代码现代化,使您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

仅需 $2500/月,即可为您的项目配备经验丰富的 Laravel 开发人员,拥有 4-6 年的经验。获得 160 小时的专业知识和 15 天的无风险试用。立即预约通话!

Bacancy
Lucky Media logo

Lucky Media

立即获得幸运 - 拥有超过十年的经验,是 Laravel 开发的理想选择!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 的电子商务。一个开源包,将现代无头电子商务功能的强大功能带入 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动套件

SaaSykit 是一个 Laravel SaaS 启动套件,它包含运行现代 SaaS 所需的所有功能。付款、精美结账、管理面板、用户仪表板、身份验证、准备好的组件、统计信息、博客、文档等等。

SaaSykit: Laravel SaaS 启动套件
Rector logo

Rector

您的无缝 Laravel 升级合作伙伴,降低成本,加快创新,以帮助企业取得成功

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 灵活、现代的数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的零依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

在您的 Laravel 应用程序中添加 Swagger UI

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的站点搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包向您的 Laravel 应用程序添加评论

阅读文章