• Czas czytania ~1 min
  • 10.08.2022

Polecenie o Laravela wydane w Laravel 9.21 zapewnia doskonały przegląd ważnych konfiguracji dla Twojej aplikacji. Po wyjęciu z pudełka zawiera listę szczegółów środowiska, stanu pamięci podręcznej i skonfigurowanych sterowników:

Kolejną fajną cechą nowego polecenia about jest możliwość dodawania przez pakiety również przydatnych informacji. Na przykład omówiliśmy Komponenty włókien w Laravel News; po wydaniu Laravela 9.21 Ryan Chandler otworzył pull request, aby dodać przydatne szczegóły wtyczki do Filamentu.

Sądzę, że wielu autorów pakietów doda przydatne szczegóły do ​​informacji polecenie. Miejmy nadzieję, że użytkownik końcowy nie zostanie przytłoczony zbyt dużą ilością informacji, a być może twórcy pakietów umożliwią konfigurowanie włączenia danych do polecenia about.

Pomijając to wprowadzenie, jak dodać niestandardowe dane do polecenia about?

Możesz to zrobić u usługodawcy, przy użyciu metody AboutCommand::add() w ramach metody boot() usługodawcy.

W poniższym przykładzie załóżmy, że chcę, aby mój pakiet lub aplikacja wyświetlała określone wartości konfiguracyjne 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',
    ]);
}

Powyższe może wyglądać lokalnie, w zależności od konfiguracji XDebug:

Leniwe ładowanie

Jedna rzecz do Należy pamiętać, że podczas tworzenia niestandardowych poleceń należy leniwie ładować dane wyjściowe, umieszczając ustawienia w funkcji strzałki fn() =>. Na przykład:

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

Jestem podekscytowany widząc, jakie przydatne autorzy pakietów informacji zaczynają dodawać do tego polecenia!

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297