ThinkPHP5.0框架自定義命令行

Swoole是PHP的異步、並行、高性能網絡通訊引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務器,異步TCP/UDP網絡客戶端,異步MySQL,異步Redis,數據庫鏈接池,AsyncTask,消息隊列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內置了Http/WebSocket服務器端/客戶端、Http2.0服務器端/客戶端。php

上面只是官方概念!數據庫

我在項目中主要使用Swoole拓展實現消息隊列,挺高任務的執行效率。服務器

框架環境:ThinkPHP 5.0網絡

第一部分:ThinkPHP5.0框架自定義命令行配置

第一步,配置command.php文件,目錄在application/command.php。多線程

return [
    'app\console\command\Test',
];

第二步,創建命令類文件,新建application/console/command/Test.php。app

<?php

/**
 * Created by PhpStorm.
 * User: 小良
 * Date: 2017/7/24
 * Time: 10:55
 */

namespace app\console\command;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;

class Test extends Command{

    /**
     * 定義命令
     * 命令名稱是 test
     */
    protected function configure()
    {

        //設置參數
        $this->addArgument('email', Argument::REQUIRED); //必傳參數
        $this->addArgument('mobile', Argument::OPTIONAL);//可選參數
        //選項定義
        $this->addOption('message', 'm', Option::VALUE_REQUIRED, 'test'); //選項值必填
        $this->addOption('status', 's', Option::VALUE_OPTIONAL, 'test'); //選項值選填

        $this->setName('test')->setDescription('Here is the remark ');
    }


    /**
     * 命令執行的內容
     * @param Input $input
     * @param Output $output
     */
    protected function execute(Input $input, Output $output)
    {
        //獲取參數值
        $args = $input->getArguments();
        $output->writeln('The args value is:');
        print_r($args);
        //獲取選項值
        $options = $input->getOptions();
        $output->writeln('The options value is:');
        print_r($options);


        $output->writeln("TestCommand:");
        $output->writeln("End..");
    }
}

第三部,在框架的目錄下面運行命令框架

php think test email mobile  -m"mtset" -s"stest"

至此,自定義命令行已經完成!異步

相關文章
相關標籤/搜索