Красивое консольное меню для Laravel Artisan

Nuno Maduro, автор пакетов Laravel Zero и Collision (который с версии Laravel 5.6 будет поставляться в качестве dev зависимости composer) порадовал нас своей новой консольной разработкой - Laravel Console Menu.

Посмотрите как красиво это выглядит:

Laravel Console Menu package

Laravel Console menu - это враппер для php-school/cli-menu созданный специально для Artisan.

Вот небольшой пример как его использовать:

class MenuCommand extends Command
{
  /**
  * Execute the console command.
  *
  * @return void
  */
  public function handle()
  {
    $option = $this->menu('Pizza menu', [
      'Freshly baked muffins',
      'Freshly baked croissants',
      'Turnovers, crumb cake, cinnamon buns, scones',
    ])->open();

    $this->info("You have chosen the option number #$option");
  }
}

А вот так можно легко менять внешний вид вашего меню:

$this->menu($title, $options)
  ->setForegroundColour('green')
  ->setBackgroundColour('black')
  ->setWidth(200)
  ->setPadding(10)
  ->setMargin(5)
  ->setExitButtonText("Abort")
  // remove exit button with
  // ->disableDefaultItems()
  ->setUnselectedMarker('❅')
  ->setSelectedMarker('✏')
  ->setTitleSeparator('*-')
  ->addLineBreak('<3', 2)
  ->addStaticItem('AREA 2')
  ->open();

Для того чтобы установить этот замечательный пакет, нужно просто выполнить команду указанную ниже. Спасибо автоматическому определению установленных пакетов, добавленному в Laravel 5.5:

composer require nunomaduro/laravel-console-menu

Чтобы более подробно почитать про этот пакет, посетите его github репозиторий. Там вы найдете полную документацию по установке и использованию данного пакета.

Опубликовано:

Категории: Пакеты