溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel中如何向About命令添加有用的信息

發(fā)布時間:2023-02-02 09:34:36 來源:億速云 閱讀:130 作者:iii 欄目:編程語言

這篇“Laravel中如何向About命令添加有用的信息”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Laravel中如何向About命令添加有用的信息”文章吧。

Laravel 9.21 中發(fā)布的 Laravel about 命令為應用程序的重要配置提供了出色的概覽。 它開箱即用,列出了環(huán)境詳細信息、驅(qū)動程序的緩存狀態(tài)和配置:

Laravel中如何向About命令添加有用的信息

新的 about 命令的另一個巧妙功能是軟件包也可以添加有用的信息。例如,我們在 Laravel 新聞中介紹了 Filament 組件; 在 Laravel 9.21 發(fā)布后,Ryan Chandler 向 Filament 發(fā)起了一個 pull request to add useful plugin details。

我想我們會看到很多擴展包的作者在 about 命令中添加一些有用的細節(jié)。但最終希望用戶不會被太多信息所淹沒,或者擴展包開發(fā)人員可能會在 about 命令中包含可配置的數(shù)據(jù)。

介紹完之后,應該如何將將自定義數(shù)據(jù)添加到“about”命令中?

你可以在服務提供者的 boot() 方法中使用 AboutCommand::add() 來執(zhí)行此操作。

在以下示例中,假設(shè)我希望我的包或應用程序輸出特定的 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',
    ]);
}

根據(jù)你的 XDebug 配置,以上內(nèi)容在本地可能如下所示:

Laravel中如何向About命令添加有用的信息

懶加載

創(chuàng)建自定義命令時要注意的一件事是,您應該通過將設(shè)置包裝在fn() => 箭頭(匿名)函數(shù)中來延遲加載輸出。 例如:

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

以上就是關(guān)于“Laravel中如何向About命令添加有用的信息”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI