亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

自定義命令

EasySwoole 默認自帶有 5 個命令,如下所示:

php easyswoole.php crontab  對定時任務進行管理
php easyswoole.php install  安裝(需要在./vendor/easyswoole/easyswoole/bin/easyswoole 文件中調用)
php easyswoole.php phpunit  執行單元測試 
php easyswoole.php process  對自定義進程進行管理
php easyswoole.php server   啟動、停止、重啟服務等
php easyswoole.php task     查看 task 任務的運行狀態

默認命令詳細內容可查看 基礎管理命令

舊版本(3.4.x 之前版本)框架自定義命令的實現可查看 自定義命令 3.3.x

定義命令

通過實現 \EasySwoole\EasySwoole\Command\CommandInterface 接口,用戶可自定義命令:

該接口定義的方法如下:

<?php

namespace EasySwoole\Command\AbstractInterface;

interface CommandInterface
{
    public function commandName(): string;

    public function exec(): ?string;

    public function help(CommandHelpInterface $commandHelp): CommandHelpInterface;

    public function desc(): string;
}

自定義命令使用示例

實現自定義命令接口(AbstractInterface)

新建文件 App/Command/Test.php,內容如下:

<?php

namespace App\Command;

use EasySwoole\Command\AbstractInterface\CommandHelpInterface;
use EasySwoole\Command\AbstractInterface\CommandInterface;
use EasySwoole\Command\CommandManager;
use EasySwoole\EasySwoole\Command\Utility;

class Test implements CommandInterface
{
    // 設置命令名稱
    public function commandName(): string
    {
        return 'test';
    }

    // 處理執行命令的邏輯
    public function exec(): ?string
    {
        // 獲取用戶輸入的命令參數
        $argv = CommandManager::getInstance()->getOriginArgv();

        if (count($argv) < 3) {
            echo "please input the action param!" . PHP_EOL;
            return null;
        }

        // remove test
        array_shift($argv);

        // 獲取 action 參數
        $action = $argv[1];

        // 下面就是對 自定義命令 的一些處理邏輯
        if (!$action) {
            echo "please input the action param!" . PHP_EOL;
            return null;
        }

        // 獲取 option 參數
        $optionArr = $argv[2] ?? [];

        switch ($action) {
            case 'echo_string':
                if ($optionArr) {
                    $strValue = explode('=', $optionArr);
                    echo $strValue[1] . PHP_EOL;
                } else {
                    echo 'this is test!' . PHP_EOL;
                }
                break;
            case 'echo_date':
                if ($optionArr) {
                    $strValue = explode('=', $optionArr);
                    echo "now is " . date('Y-m-d H:i:s') . ' ' . $strValue[1] . '!' . PHP_EOL;
                } else {
                    echo "now is " . date('Y-m-d H:i:s') . '!' . PHP_EOL;
                }
                break;
            case 'echo_logo':
                echo Utility::easySwooleLog();
                break;
            default:
                echo "the action {$action} is not existed!" . PHP_EOL;
        }
        return null;
    }

    public function help(CommandHelpInterface $commandHelp): CommandHelpInterface
    {
        // 添加 自定義action(action 名稱及描述)
        $commandHelp->addAction('echo_string', 'print the string');
        $commandHelp->addAction('echo_date', 'print the date');
        $commandHelp->addAction('echo_logo', 'print the logo');
        // 添加 自定義action 可選參數
        $commandHelp->addActionOpt('--str=str_value', 'the string to be printed ');
        return $commandHelp;
    }

    // 設置自定義命令描述
    public function desc(): string
    {
        return 'this is test command!';
    }
}

注冊自定義命令

bootstrap 事件 中注冊自定義命令。

修改項目根目錄的 bootstrap.php 文件,添加如下內容實現注冊自定義命令:

<?php
//全局bootstrap事件
date_default_timezone_set('Asia/Shanghai');

# 【可選:調用 `initialize` 事件進行初始化】
// EasySwoole\EasySwoole\Core::getInstance()->initialize();

\EasySwoole\Command\CommandManager::getInstance()->addCommand(new \App\Command\Test());

注意:如果用戶需要獲取配置文件的配置,需要先執行 initialize 事件,調用 EasySwoole\EasySwoole\Core::getInstance()->initialize(); 進行初始化。

bootstrap 事件3.2.5 新增的事件,它允許用戶在框架初始化之前執行自定義事件。

執行命令結果

$ php easyswoole.php test
please input the action param!

$ php easyswoole.php test -h
This is test command!
Usage:
  easyswoole test ACTION [--opts ...]
Actions:
  echo_string  print the string
  echo_date    print the date
  echo_logo    print the logo
Options:
  --str=str_value  the string to be printed 

$ php easyswoole.php test echo_string
this is test!

$ php easyswoole.php test echo_date
now is 2021-02-23 19:23:19!

$ php easyswoole.php test echo_logo
  ______                          _____                              _
 |  ____|                        / ____|                            | |
 | |__      __ _   ___   _   _  | (___   __      __   ___     ___   | |   ___
 |  __|    / _` | / __| | | | |  \___ \  \ \ /\ / /  / _ \   / _ \  | |  / _ \
 | |____  | (_| | \__ \ | |_| |  ____) |  \ V  V /  | (_) | | (_) | | | |  __/
 |______|  \__,_| |___/  \__, | |_____/    \_/\_/    \___/   \___/  |_|  \___|
                          __/ |
                         |___/

$ php easyswoole.php test echo_string --str="hello easyswoole"
hello easyswoole
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    亚洲在线日韩| 日韩亚洲视频在线| 亚洲精品无人区| 亚洲亚洲精品三区日韩精品在线视频| 欧美在线视频二区| 激情欧美日韩一区| 性欧美videos另类喷潮| 91精品国产91久久久久青草| 国产精品污www一区二区三区| 玖玖玖精品中文字幕| 四虎一区二区| 99亚洲一区二区| 精品在线视频一区二区三区| 亚洲精品二区| 国产精品日韩一区二区三区| 国内一区在线| 欧美日韩a区| 97中文在线观看| 伊人久久大香线蕉成人综合网| 国产欧美一区二区色老头| 狠狠色噜噜狠狠色综合久| 午夜性色一区二区三区免费视频| 99在线|亚洲一区二区| 久久艹中文字幕| 亚洲高清久久| 明星裸体视频一区二区| 亚洲第一在线| 麻豆传媒一区| 久久大逼视频| 欧美日产一区二区三区在线观看| 成人自拍网站| 亚洲精品1区| 日本婷婷久久久久久久久一区二区| 日韩视频一区| 一区二区三区四区视频在线| 快she精品国产999| 狠狠干成人综合网| 欧美成人蜜桃| 麻豆成人av| 国产自产在线视频一区| 免费看国产精品一二区视频| 久久精品欧洲| 亚洲电影在线| 欧美视频成人| 日韩中文字幕一区二区| 蜜桃久久av| 亚洲精选在线| 欧美三级网页| 欧美一区激情| 午夜精品美女久久久久av福利| 成人3d动漫一区二区三区91| 亚洲美女毛片| 在线日本高清免费不卡| 欧美伊人久久| 亚洲女人毛片| 欧美精品亚洲精品| 国产日韩精品一区观看| 久久亚洲免费| 老司机精品久久| 久久国产精品一区二区三区| av不卡免费看| 国产一区二区三区免费不卡| 欧美日韩一区二区三区四区在线观看 | 欧美在线91| 日韩欧美视频第二区| 九九九九九九精品| 91在线在线观看| 久久福利精品| 国产伦精品一区二区三| 亚洲一卡久久| 久久久天天操| 成人精品一二区| 国产精品久久久久久久小唯西川| 91精品国产99久久久久久红楼| 久久久一二三| 鬼打鬼之黄金道士1992林正英| 5g国产欧美日韩视频| 久久精品日产第一区二区| 久久国产精品久久久久久电车 | 欧美极品色图| 夜夜爽www精品| 国内精品99| 在线视频免费在线观看一区二区| 国产日韩一区二区三区在线| 香蕉成人久久| 国产精品美女诱惑| 日本在线观看一区| 午夜久久久久| 国产一区成人| 国产在线一区二区三区欧美 | 粉嫩av免费一区二区三区| 国产精品一区二区免费| 久久久久久国产精品一区 | 久久久久网址| 亚洲午夜高清视频| 亚洲视频免费| 久久亚洲不卡| 少妇特黄a一区二区三区| 欧美成人一区二免费视频软件| 黄色成人在线网址| 久久高清国产| 欧美不卡福利| 亚洲毛片av| 国产在线精品一区二区中文 | 国产精品视频免费观看| 亚洲成人一区二区三区| 99精品国产在热久久| 国产乱码精品一区二区三区中文| 日韩影院一区| 一区二区三区福利| 久久久久高清| 亚洲欧洲午夜| 欧美乱偷一区二区三区在线| 亚洲视频一二| 久久精品日产第一区二区三区| 中文字幕在线亚洲三区| 91传媒视频在线观看| 中文字幕一区二区中文字幕| 久久裸体视频| 欧美成人tv| 精品欧美一区二区三区久久久| 欧美精品黄色| 精品一区久久久| 亚洲永久免费精品| 一区不卡视频| 久久久噜噜噜| 亚洲高清自拍| 丝袜美腿玉足3d专区一区| 久久久精品网| 黑人一区二区| 日韩欧美在线电影| 久久久久国产精品午夜一区| 午夜精品国产| 久久综合中文色婷婷| 性欧美精品高清| 欧美亚洲不卡| 日韩精品一区二区三区丰满| 超碰国产精品久久国产精品99| 极品中文字幕一区| 亚洲国产精品久久久久婷婷老年| 99视频在线播放| 国产亚洲欧美一区二区| 一级日韩一区在线观看| 久中文字幕一区| 国产伦精品一区二区三毛| 国产精品免费在线| 狠狠综合久久| 韩日精品在线| 欧美尤物一区| 在线综合视频网站| 欧洲在线视频一区| 国产一区二区三区免费不卡| 香蕉久久久久久久av网站| 99精品国产高清一区二区| 一区精品在线| 国内精品福利| 精品二区久久| 黄色免费成人| 欧美日一区二区三区在线观看国产免| 性高潮久久久久久久久| 久久精品美女| 亚洲永久视频| 亚洲草草视频| 欧美一区二区三区在线免费观看| 久久久久综合一区二区三区| 亚洲一区一卡| 久久xxxx| 成人午夜电影免费在线观看| 久久久精彩视频| 久久久夜精品| 国产一级二级三级精品| 国产伦精品一区二区三区视频黑人 | 亚洲裸体俱乐部裸体舞表演av| 在线播放一区| 国产欧美日韩综合一区在线播放| 日韩图片一区| 亚洲在线电影| 国产精品一区在线播放| 久久av二区| 色综合电影网| 欧美日韩国产高清| 亚洲精品乱码久久久久久蜜桃91| 亚洲经典在线看| 老**午夜毛片一区二区三区| 国产在线一区二| 亚洲精品久久久久久一区二区| 一级做a爰片久久| 亚洲欧洲日本mm| 国产精华一区| 少妇免费毛片久久久久久久久| 国产精品久久7| 麻豆久久久9性大片| 国产免费高清一区| 台湾成人av| 日韩五码在线| 国产精品高清一区二区三区| 视频一区二区在线观看| 亚洲国产欧美不卡在线观看| 97久久夜色精品国产九色 | 国产精品亚洲综合|