当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

Laravel Console Menu

PHP 编写控制台菜单
授权协议 MIT
开发语言 PHP
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 呼延升
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Laravel Console Menu 可以让你很方便的使用 PHP 开发控制台下的菜单功能。如下图所示:

 

安装

要求 PHP 7.0+

使用 Composer 引入 Laravel Console Menu

composer require nunomaduro/laravel-console-menu

使用

快速设置

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

设置问题

class MenuCommand extends Command
{
    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $option = $this->menu('Pizza menu')
                    ->addOption('mozzarella', 'Mozzarella')
                    ->addOption('chicken_parm', 'Chicken Parm')
                    ->addOption('sausage', 'Sausage')
                    ->addQuestion('Make your own', 'Describe your pizza...')
                    ->addOption('burger', 'Prefer burgers')
                    ->setWidth(80)
                    ->open();
        
        $this->info("You have chosen the text option: $option");
    }
}

设置高级选项,例如密码

class MenuCommand extends Command
{
    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $menu = $this->menu('Pizza menu')
                    ->addOption('mozzarella', 'Mozzarella')
                    ->addOption('chicken_parm', 'Chicken Parm')
                    ->addOption('sausage', 'Sausage')
                    ->addQuestion('Make your own', 'Describe your pizza...');
        
        $itemCallable = function (CliMenu $cliMenu) use ($menu) {
            $cliMenu->askPassword()
                ->setValidator(function ($password) {
                    return $password === 'secret';
                })
                ->setPromptText('Secret password?')
                ->ask();

            $menu->setResult('Free spice!');

            $cliMenu->close();
        };
        $menu->addItem('Add extra spice for free (password needed)', $itemCallable);


        $option = $menu->addOption('burger', 'Prefer burgers')
            ->setWidth(80)
            ->open();

        $this->info("You have chosen the text option: $option");
    }
}

外观

提供的颜色包括 blackredgreenyellowbluemagentacyanwhite.

$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-admin内置了几个控制台命令来帮助开发,安装好laravel-admin之后,就可以直接使用它们了。 使用php artisan admin命令可以显示当前Laravel-admin的版本,以及列出所有可用的admin命令。 $ php artisan admin __ __ __

  • 转载请注明:转载自 Yuansir-web菜鸟 | LAMP学习笔记 本文链接地址: 50分钟学会Laravel 50个小技巧 原文链接:《 50 Laravel Tricks in 50 Minutes by willroth 》 Eloquent 1.Automatic model validation     class Post extends Eloquent     {        

  • laravel 邮件发送 介绍 (Introduction) In project management or support management tools, you will see this a lot: you can reply to an email message and it is automatically visible in a web application. Someh

  • Eloquent 1.自动模型验证 <?php class Post extends Eloquent { public static $autoValidate = true; protected static $rules = array(); protected static function boot() { parent::boot();

  • Eloquent 1.Automatic model validation class Post extends Eloquent { public static $autoValidate = true; protected static $rules = array(); protected static function boot() { parent::boot(); // You can

  • 编写表字段 node表 Schema::create('nodes', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name',50)->comment('节点名称'); $table->string('route_name',100)->nulla

  • 安装 composer require workerman/gateway-worker composer require workerman/gatewayclient 创建 Workerman 启动文件app/Console/Commands/WorkermanCommand 命令:php artisan make:command WorkermanCommand <?php namespa

 相关资料
  • 所以我有一个Laravel控制器: 目前,我正在使用artisan(在引擎盖下运行PHP的内置开发Web服务器)运行应用程序: 我想将控制台消息记录到artisan进程的管道中。

  • 问题内容: 函数打印到控制台。我想测试控制台打印。我如何在python中实现呢? 需要测试这个功能,没有返回语句: 我的测试: 问题答案: 您可以通过临时重定向到一个对象来轻松捕获标准输出,如下所示: 该程序的输出为: 说明重定向成功捕获了输出,并且您能够将输出流还原到开始捕获之前的状态。 请注意,上面的代码针对Python 2.7,如问题所示。Python 3稍有不同:

  • 是否有可能构建一个控制台应用程序与Quarkus?换句话说,它并没有启动Web服务,只是从头到尾运行。

  • 我正在我的Spring Boot应用程序中使用Logback。 null

  • 控制台 命令进入根目录执行 app/console - - - - - - - - - - - - - - - - - \ \ \ \ - - - - - - / - - - - - / \ / / - - - / / - - - - - \ \ \ \ \ \ \- - - - - -

  • 控制台页面管理网站站点列表 1.添加统计ID 功能简介:添加单个站点统计ID,一个账户能添加多个统计ID,当天内最多可添加200个 2.批量添加统计ID 功能简介:批量添加多站点统计ID,一次最多添加5个,当天内最多可添加200个 3.新建分组 功能简介:方便站长管理站点,简单的分组一目了然,省略查找时间 4.编辑分组 功能简介:该功能是对已新增的分组进行修改或者删除的操作 5.站点对比

  • 除了 Flarum 核心提供的 默认命令,我们还允许扩展程序的开发者添加自定义控制台命令。 所有控制台命令开发都是在后端使用 PHP 完成的。要创建自定义控制台命令,您需要创建一个类实现 \Flarum\Console\AbstractCommand。 use Flarum\Console\AbstractCommand; use Psr\Http\Message\ServerRequestIn

  • 除了论坛后台的管理面板,Flarum 还提供了几个控制台命令,以帮助您通过终端管理论坛。 使用步骤: ssh 连接到安装 Flarum 的服务器 cd 进入含有一个叫做 flarum 的文件的文件夹中 执行 php flarum [命令名] 以列表形式输出所有支持的管理命令,以及每个命令的使用说明。 php flarum help [命令名] 输出指定命令的帮助信息。 要以其他格式输出,请添加 -