怎么向About命令添加信息?下面本篇文章介紹一下向 Laravel About 命令添加有用信息的方法,希望對(duì)大家有所幫助!
Laravel 9.21 中發(fā)布的 Laravel about
命令為應(yīng)用程序的重要配置提供了出色的概覽。 它開(kāi)箱即用,列出了環(huán)境詳細(xì)信息、驅(qū)動(dòng)程序的緩存狀態(tài)和配置:
新的 about 命令的另一個(gè)巧妙功能是軟件包也可以添加有用的信息。例如,我們?cè)?Laravel 新聞中介紹了 Filament 組件; 在 Laravel 9.21 發(fā)布后,Ryan Chandler 向 Filament 發(fā)起了一個(gè) pull request to add useful plugin details。
我想我們會(huì)看到很多擴(kuò)展包的作者在 about
命令中添加一些有用的細(xì)節(jié)。但最終希望用戶(hù)不會(huì)被太多信息所淹沒(méi),或者擴(kuò)展包開(kāi)發(fā)人員可能會(huì)在 about 命令中包含可配置的數(shù)據(jù)。
介紹完之后,應(yīng)該如何將將自定義數(shù)據(jù)添加到“about”命令中?
你可以在服務(wù)提供者的 boot()
方法中使用 AboutCommand::add()
來(lái)執(zhí)行此操作。
在以下示例中,假設(shè)我希望我的包或應(yīng)用程序輸出特定的 XDebug 配置值:
use IlluminateFoundationConsoleAboutCommand; // ... 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', ]); }
根據(jù)你的 XDebug 配置,以上內(nèi)容在本地可能如下所示:
懶加載
創(chuàng)建自定義命令時(shí)要注意的一件事是,您應(yīng)該通過(guò)將設(shè)置包裝在fn() =>
箭頭(匿名)函數(shù)中來(lái)延遲加載輸出。 例如:
'Client Port' => ini_get('xdebug.client_port'), 'Client Port' => fn() => ini_get('xdebug.client_port'),
我很高興看到擴(kuò)展包作者會(huì)向這個(gè)命令添加一些有用的信息!
原文地址:https://laravel-news.com/customize-laravel-about-command 譯文地址:https://learnku.com/laravel/t/70189