创建myapp,在myapp里创建lib/command目录

新建一个文件hello.php

<?php
/**
* myapp_command_hello(myapp->app名称,command必须的,hello对应类名)
* 所有命令类都继承自base_shell_prototype类
*/
class myapp_command_hello extends base_shell_prototype{ //$command_world(command必须的,world命令)
var $command_world = 'helloworld';//helloworld解释作用
function command_world(){
echo "hello,world\n";
}
//dos执行方式 myapp:hello world(myapp->app名称,hello->文件名, command+world->方法名)
}

新建一个文件world.php

<?php
class myapp_command_world extends base_shell_prototype{ var $command_3guys = '3guys';
function command_3guys($t1,$t2,$t3){
echo '1\t',$t1,'\n';
echo '1\t',$t2,'\n';
echo '1\t',$t3,'\n';
}
//dos执行 myapp:world 3guys 1 2 3(myapp->app名称,world->类名,command+3guys->方法名,1 2 3->参数)
}

新建一个文件one.php

<?php
class myapp_command_one extends base_shell_prototype{ var $command_one = 'one';
//$command_one_options(options参数)选项数组
var $command_one_options = array(
'quietly'=>array('title'=>'项目模板','short'=>'q'),//至于这里为何这么写我也不知道
'from'=>array('title'=>'项目模板','need_value'=>1)
);
function command_one(){
$options = $this->get_options();
if($options['quietly']){
echo "hello, xxx\n";
}else{
echo "hello, world --from {$options['from']}\n";
}
}
//dos执行 myapp:one one --from 结果 hello,world --from(没传入from参数的值)
//myapp:one one --from fuck 结果 hello,world --from fuck
//myapp:one one --quietly 结果 hello xxx
}

新建一个文件two.php

<?php
class myapp_command_two extends base_shell_prototype{ var $command_cart = "cart";
function command_cart(){
$this->output_line("cart"); $rows = array();
$rows[] = array('type');
$rows[] = array('apple');
$rows[] = array('banana');
$this->output_table($rows);
}
//dos执行 myapp:two cart
//$this->output_line()输出一个分行
//$this->output_table 将数组输出格式化好的表格
}

注意!一个命令一个文件

ecos新命令的更多相关文章

  1. Azure CLI 2.0-Azure新命令行工具介绍

    Azure CLI 2.0 是 Azure 的新命令行体验,用于管理 Azure 资源. 可以将其安装在 macOS.Linux 和 Windows 上,然后从命令行运行它. Azure CLI 2. ...

  2. 2017-5新版ionic3.1 新命令及一些常用命令

    ionic3.1的新命令: # ionic cordova --help //== 查看命令 # ionic cordova resources // 其中 icon.png (1024*1024) ...

  3. 【翻译自mos文章】 11gR1版本号 asmcmd的新命令--cp、md_backup、md_restore

    11gR1版本号 asmcmd的新命令--cp.md_backup.md_restore 參考原文: ASMCMD - New commands in 11gR1 (Doc ID 451900.1) ...

  4. WinEdt && LaTex(四)—— 自定义新命令(newcommand、def)

    1. 新建命令 使用如下的命令:\newcommand{name}[num]{definition}: 该命令(newcommand)有两个参数,第一个 name 是你想要建立的命令的名称,第二个def ...

  5. 重磅!GitHub官方开源新命令行工具

    近日,GitHub 发布命令列工具 (Beta) 测试版,官方表示,GitHub CLI提供了一种更简单.更无缝的方法来使用Github.这个命令行工具叫做GitHub CLI,别名gh. 现在,你就 ...

  6. 草,又学了个新命令,nc传文件。

    nc -l 5222 > aa nc 192.168.0.48 5222 < a http://www.linuxso.com/command/nc.html

  7. gradle3.0新命令

    摘抄原文https://mp.weixin.qq.com/s/6UZhaI9cILJiPGYHkXd73g No1: Implementation compile 指令被标注为过时方法,而新增了两个依 ...

  8. Flask添加新命令

    代码: import click from flask import Flask app = Flask(__name__) @app.cli.command() def hg(): click.ec ...

  9. OpenRisc-34-ORPSoC跑eCos实验

    引言 ORPSoC目前支持好几种OS,除了前面一直介绍的linux,还支持eCos,eCos是RTOS,如果你的系统对时间的要求比较高,那eCos会是一个不错的选择. 本小节就简单介绍一下,在ORPS ...

随机推荐

  1. oracle数据库的数据类型

    一.字符类型 (1)固定长度的字符串 CHAR(字节长度是1~2000之间) CHAR(8)可以存储4个双字节的字符,8个单字节的字符,不足8字节剩余的部分用空格占据 (2)可变长度字符串 VARCH ...

  2. Drupal7的theme函数执行顺序

    theme('name') 执行顺序: 1.当前主题_name(),这个函数一般在主题的template.php文件中 2.所在模块_name() 3.theme_name() 4.name.tpl. ...

  3. 【转】How to build and install PHP 5.6.9 from source on Ubuntu 14.04 VPS

    原文 https://vpsineu.com/blog/how-to-build-and-install-php-5-6-9-from-source-on-ubuntu-14-04-vps/ In t ...

  4. 建立TCP连接的三次握手

    请求端(通常称为客户)发送一个 SYN 报文段( SYN 为 1 )指明客户打算连接的服务器的端口,以及初始顺序号( ISN ).服务器发回包含服务器的初始顺序号( ISN )的 SYN 报文段( S ...

  5. slf4j(simple logging facade for java)

    http://www.tuicool.com/articles/IfeUfq   slf4j(simple logging facade for java)是Java的简单的日志门面,它 不是具体的日 ...

  6. mysql主从数据库

    Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库 ...

  7. IPSEC VPN配置实例

    TL-R400VPN应用——IPSEC VPN配置实例 TL-ER6120是TP-LINK专为企业应用而开发的VPN路由器,具备强大的数据处理能力,并且支持丰富的软件功能,包括VPN.IP/MAC 地 ...

  8. java 创建一个File文件对象

    Example10_1.java import java.io.*; public class Example10_1 { public static void main(String args[]) ...

  9. haxe 嵌入swf 读取里面的内容

    首先安装 swf 库,运行命令: 命令提示符: haxelib install swf 在project.xml 加上 <!-- 导入swf类库 --> <haxelib name= ...

  10. L3,please send me a card

    expressions: a few words几句话 lend sb sth或lend sth to sb borrow sth或borrow sth from sb 都表示借,但是行为不同. wo ...