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 ...
随机推荐
- XHTML 与 HTML 之间的差异
最主要的不同: XHTML 元素必须被正确地嵌套. XHTML 元素必须被关闭. 标签名必须用小写字母. XHTML 文档必须拥有根元素.
- redis 进阶
1.一定要设置最大缓存大小并设置缓存策略 如果不设置最大缓存,在新添加数据时,如果超过最大内存回事redis崩溃! 设置方式:maxmemory 1GB 使用redis-cli登录后,使用info命令 ...
- PHP配置安全小技巧
- merge 语句的语法
/*Merge into 详细介绍 MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句. 通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询, 连接条 ...
- Camera Path插件的使用
rpg游戏类型的游戏,猪脚走过一个个场景,一个个死角.拐弯处,摄像机镜头也能很好的跟踪对焦,很多朋友都会想,这摄像机如何智能跟踪并且对焦呢? 之前 itween也有demo,但它做法是 两条线,一条摄 ...
- HDU 1054 Strategic Game 最小点覆盖
最小点覆盖概念:选取最小的点数覆盖二分图中的所有边. 最小点覆盖 = 最大匹配数. 证明:首先假设我们求的最大匹配数为m,那么最小点覆盖必然 >= m,因为仅仅是这m条边就至少需要m个点.然后 ...
- FZU 2140 Forever 0.5(将圆离散化)
主要就是将圆离散化,剩下的都好办 #include<iostream> #include<cstdio> #include<cstring> #include< ...
- angular.js_$scope
Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上. Angular ...
- springMVC简单的安全防御配置
1,使用 spring form 标签 防 csrf 攻击 2,标明请求方法:RequestMethod.GET,RequestMethod.POST, PATCH, POST, PUT, and D ...
- PHPstorm端口配置问题