ecos新命令
创建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新命令的更多相关文章
- Azure CLI 2.0-Azure新命令行工具介绍
Azure CLI 2.0 是 Azure 的新命令行体验,用于管理 Azure 资源. 可以将其安装在 macOS.Linux 和 Windows 上,然后从命令行运行它. Azure CLI 2. ...
- 2017-5新版ionic3.1 新命令及一些常用命令
ionic3.1的新命令: # ionic cordova --help //== 查看命令 # ionic cordova resources // 其中 icon.png (1024*1024) ...
- 【翻译自mos文章】 11gR1版本号 asmcmd的新命令--cp、md_backup、md_restore
11gR1版本号 asmcmd的新命令--cp.md_backup.md_restore 參考原文: ASMCMD - New commands in 11gR1 (Doc ID 451900.1) ...
- WinEdt && LaTex(四)—— 自定义新命令(newcommand、def)
1. 新建命令 使用如下的命令:\newcommand{name}[num]{definition}: 该命令(newcommand)有两个参数,第一个 name 是你想要建立的命令的名称,第二个def ...
- 重磅!GitHub官方开源新命令行工具
近日,GitHub 发布命令列工具 (Beta) 测试版,官方表示,GitHub CLI提供了一种更简单.更无缝的方法来使用Github.这个命令行工具叫做GitHub CLI,别名gh. 现在,你就 ...
- 草,又学了个新命令,nc传文件。
nc -l 5222 > aa nc 192.168.0.48 5222 < a http://www.linuxso.com/command/nc.html
- gradle3.0新命令
摘抄原文https://mp.weixin.qq.com/s/6UZhaI9cILJiPGYHkXd73g No1: Implementation compile 指令被标注为过时方法,而新增了两个依 ...
- Flask添加新命令
代码: import click from flask import Flask app = Flask(__name__) @app.cli.command() def hg(): click.ec ...
- OpenRisc-34-ORPSoC跑eCos实验
引言 ORPSoC目前支持好几种OS,除了前面一直介绍的linux,还支持eCos,eCos是RTOS,如果你的系统对时间的要求比较高,那eCos会是一个不错的选择. 本小节就简单介绍一下,在ORPS ...
随机推荐
- Redis配置文件 翻译 V3.2版本
# Redis配置文件例子. # # 注意:为了能读取到配置文件,Redis服务必须以配置文件的路径作为第一个参数启动 # ./redis-server /path/to/redis.conf # 关 ...
- 12.04 ubuntu 更改IP
在一个局域网里面,如果是自动获取IP,就会导致IP冲突 进入要连接的热点进行设置 IPV4 Setting address netmask ...
- 如何修改android工程的包名?
在我们android项目开发到一定的程度时由于需要,我们必须修改一下工程的包名,以便更好的发布我们的项目.但是在这个过程中有时候修改好了之后会出现一些错误.下面由小编一步步教你如何更改包名,和解决出现 ...
- c++之模板
. 函数模板 普通函数 void Swap(int &, int &); 模板函数 template <typename T> void Swap(T &, T & ...
- ListView控件的Insert、Edit和Delete功能(第一部分)
摘自:http://blog.ashchan.com/archive/2007/08/28/listview-control-insert-edit-amp-delete-part-1aspx/ Li ...
- selection与range笔记
selection对象代表当前激活选中区,通常是高亮的文本块 创建选中区: 1.拖拽文本 2.脚本创建 cerateRange() 获取selection对象 IE document.sele ...
- opatch auto in windows db in 11.2.0.4
--prapare:copy 192.168.63.83 D:\oracle_patch\1612 to 192.168.2.169 D:\oracle_patch\1612cd D:\oracle_ ...
- POJ 2182/暴力/BIT/线段树
POJ 2182 暴力 /* 题意: 一个带有权值[1,n]的序列,给出每个数的前面比该数小的数的个数,当然比一个数前面比第一个数小的个数是0,省略不写,求真正的序列.(拗口) 首先想到的是从前到后暴 ...
- android之相机开发
http://blog.csdn.net/jason0539/article/details/10125017 android之相机开发 分类: android 基础知识2013-08-20 22: ...
- cmd下载文件
进入cmd 输入ftp 192.168.1.200 然后按照提示输入用户名和密码 cd 进入要下载的目录 dir 看操作权限 lcd查看本地要装下载文件的目录 prompt关闭交互模式 mget da ...