sunkan/console-select

为symfony的控制台组件提供的精美选择界面。

2.0.2 2018-08-23 19:58 UTC

This package is auto-updated.

Last update: 2024-09-04 15:47:32 UTC


README

为symfony的控制台组件提供的精美选择界面。

Scrutinizer Code Quality Code Coverage Build Status

gluten-free built-by-developers check-it-out

Sample

需求

该项目旨在使用以下框架之一运行

  • laravel 5.6+
  • symfony 5.0+
  • laravel-zero 5.6+

安装

composer require eddiriarte/console-select

在Laravel/Laravel-Zero上

SelectServiceProvider添加到您的服务提供者列表

// app.php
'providers' => [
    EddIriarte\Console\Providers\SelectServiceProvider::class,
],

在Symfony上

EddIriarte\Console\Traits\SelectableInputs特性添加到您的命令类

# importing : \EddIriarte\Console\Helpers\SelectionHelper
# pasing the input and output interfaces
$this->getHelperSet()->set(
  new SelectionHelper($this->input, $this->output)
);

复选框

当您需要从用户处获取多个答案时非常有用。

$selected = $this->select(
  'Select characters that appeared in "Star Wars,  Episode I - The phantom menace"',
  [
    'Ahsoka Tano',
    'Anakin Skywalker',
    'Boba Fett',
    'Chewbacca',
    'Count Dooku',
    'Darth Maul',
    'Darth Vader',
    'Finn',
    'Han Solo',
    'Jabba the Hutt',
    'Jar Jar Binks',
    'Kylo Ren',
    'Lando Calrissian',
    'Luke Skywalker',
    'Mace Windu',
    'Obi-Wan Kenobi',
    'Padmé Amidala',
    'Sheev Palpatine',
    'Poe Dameron',
    'Princess Leia Organa',
    'Qui-Gon Jinn',
    'Rey',
    'Watto',
    'Yoda',
  ]
);

单选按钮

当您需要用户从列表中选择一个答案时非常有用。

$selected = $this->select(
  'What is the name of the ancient Jedi master that lives at the swamps of Dagobah',
  [
    'Ahsoka Tano',
    'Anakin Skywalker',
    'Boba Fett',
    'Chewbacca',
    'Count Dooku',
    'Darth Maul',
    'Darth Vader',
    'Finn',
    'Han Solo',
    'Jabba the Hutt',
    'Jar Jar Binks',
    'Kylo Ren',
    'Lando Calrissian',
    'Luke Skywalker',
    'Mace Windu',
    'Obi-Wan Kenobi',
    'Padmé Amidala',
    'Sheev Palpatine',
    'Poe Dameron',
    'Princess Leia Organa',
    'Qui-Gon Jinn',
    'Rey',
    'Watto',
    'Yoda',
  ],
  false // third argument(bool) that allows multiple selections (default: true)
);

待完成

  • 处理用户中断,如Ctrl+C

MIT许可

版权(c)2018 Eduardo Iriarte

在此特此授予任何获取此软件及其相关文档副本(“软件”)的人免费使用该软件的权利,不受任何限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供的人使用该软件,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是由于合同、侵权或其他原因而产生的,无论是否与软件或软件的使用或其他方式有关。