命令行工具

原文:命令行工具

查看全部命令

app/base/cmd help

如果需要显示每条命令的所支持的参数,则需要加上 -v

app/base/cmd help -v

创建一个新命令

简单的命令

在需要创建的 app 中的 lib/command 目录中创建指定命令,例:

<?php
class b2c_command_test extends base_shell_prototype
{
    var $command_test = 'Hello World';

    public function command_hello()
    {
        return 'Hello World';
    }
}

执行命令如下:

app/base/cmd b2c:test hello
# Hello World

设置参数

有时候需要给命令添加几个自定义参数,示例如下:

<?php
class b2c_command_test extends base_shell_prototype
{
    var $command_test = 'Hello Command';

    public function command_hello($name)
    {
        return 'Hello ' . $name;
    }
}

执行命令如下:

app/base/cmd b2c:test hello Marvin
# Hello Marvin

选项设置

有时候,一条命令需要有多个可以选择的功能,比如 ls -al,其中 -al 就是可选的选项,用于筛选不同的结果和显示不同的样式,这里也可以,示例:

<?php
class b2c_command_test extends base_shell_prototype
{
    var $command_test = 'Hello Command';
    
    var $command_test_options = array(
        'sex' => array(
            'title' => '性别',
            // 支持短写
            'short' => 's'
        )
    );

    public function command_hello($name)
    {
        $options = $this->get_options();
        if ($options['sex']) {
            return 'Hello ' . $name . ', you are a ' . $options['sex'];
        }
        return 'Hello ' . $name;
    }
}

执行命令如下:

其中,--sex-s 的效果是一样的

app/base/cmd b2c:hello Marvin --sex boy
# Hello Marvin, you are a boy

输出设置

有时候需要输出一个表格,或者输出一整行,ecstore 也提供了相应的方法:

<?php
class b2c_command_test extends base_shell_prototype
{
    var $command_test = 'Hello Command';

    public function command_hello()
    {
        $this->output_line('line');
        
        $array = array(
            array(
                'name', 'sex', 'age'
            ),
            array(
                'marvin', 'boy', '25'
            ),
            array(
                'cindy', 'girl', '26'
            )
        );
        $this->output_table($array);
    }
}

执行命令如下:

app/base/cmd b2c:hello
# line -----------------------
# name   sex  age
# marvin boy  25
# cindy  girl 26
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容