Menu PHP CLI đẹp cho Laravel Artisan Commands

879

Nuno Maduro, tác giả của Laravel Zero và Collision (Sẽ được đưa vào trong bản Laravel 5.6) đã đưa ra một package mà có thể quản lý các dòng lệnh khá ổn gọi là nunomaduro/ laravel-console-menu.

Xem thử console menu đẹp đến mức nào:

Laravel Console Menu là gói dùng cho php-school / cli menu được tạo ra cho Artisan commands.

Dưới đây là một ví dụ từ readme:

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");
    }
}

Đây là cách bạn có thể thay đổi giao diện của menu bằng API:

$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();

Tất cả những gì bạn phải làm để bắt đầu sử dụng gói Laravel Artisan Commands là cài đặt nó thông qua Composer:

composer require nunomaduro/laravel-console-menu

TopDev via

  Có gì mới trong bản cập nhật Laravel 5.5.33 vừa ra mắt

Source: Laravel-news

Xem thêm việc làm php lương cao cần gấp tại Topdev