Команда Laravel about
, выпущенная в Laravel 9.21, предоставляет отличный обзор важных конфигураций для вашего приложения. По умолчанию в нем перечислены сведения об окружении, статус кеша и настроенные драйверы:
Еще одна полезная функция новой команды about — это возможность для пакетов также добавлять полезную информацию. Например, мы рассмотрели компоненты Filament здесь, в новостях Laravel; после выпуска Laravel 9.21 Райан Чендлер открыл запрос на добавление полезной информации о плагине в Filament.
Я думаю, мы увидим, как многие авторы пакетов добавят полезную информацию в about код> команда. Будем надеяться, что конечный пользователь не будет перегружен слишком большим количеством информации, или, возможно, разработчики пакетов позволяют настраивать включение данных в команду about.
После этого введения, как бы вы добавили пользовательские данные в команду about
?
Вы можете сделать это в поставщике услуг с помощью метода AboutCommand::add()
в методе boot()
поставщика услуг.
В следующем примере предположим, что я хочу, чтобы мой пакет или приложение выводило определенные значения конфигурации 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() =>
. Например:
1'Client Port' => ini_get('xdebug.client_port'), 2'Client Port' => fn() => ini_get('xdebug.client_port'),
Я рад видеть, что авторы пакетов полезной информации начинают добавлять в эту команду!