• Час читання ~1 хв
  • 10.08.2022

Команда Laravel about, випущена в Laravel 9.21, надає чудовий огляд важливих конфігурацій для вашої програми. З коробки він містить перелік деталей середовища, стану кешу та налаштованих драйверів:

Ще одна чудова функція нової команди about — можливість пакетів також додавати корисну інформацію. Наприклад, ми розповідали про компоненти нитки тут, на Laravel News; після випуску 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'),

Мені дуже приємно бачити, яку корисну інформацію автори пакету інформації почали додавати до цієї команди!

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297