Nuno Maduro, автор пакетов Laravel Zero и Collision (который с версии Laravel 5.6 будет поставляться в качестве dev зависимости composer) порадовал нас своей новой консольной разработкой - Laravel Console Menu.
Посмотрите как красиво это выглядит:
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 репозиторий. Там вы найдете полную документацию по установке и использованию данного пакета.
Опубликовано: