Joomla jconsole 開發應用

如果在執行指令時有需要其它額外的指令或選項,在 JConsole 可以這樣做:
[cc lang=”bash”]
php cli/console hello who where -a
[/cc]

鍵入 php cli/console hello -h 時會列出以下的 help:
qweqwe
其中紅線所指的指令格式 [command] 為 Argument , [option] 當然不用說就是 option。

建立 Option

打開 cli/jconsole/src/command/hello/hello.php 在 configure() 加上 addOption 的方法:
[cc lang=”php”]
public function configure()
{
$this->addOption(array(‘a’,’happy’), false, ‘Do you happy’);

parent::configure();
}
[/cc]

  • addOption($option, $default = null, $description = null, $global = false)
    • option 可以用一個 array 來指定 — 或 – 的別名
    • $default 是預設值,如果輸入指令時沒有 option 存在,則給予一個預設值。如果連預設值不要的話,那就用 false 來帶過
    • $description 是說明
    • $global 將 option 給予副指令使用,無特殊用途,預設為 false
取得 Argument 與 Option

在 doExecute() 的程式範列如下:
[cc lang=”php”]
protected function doExecute()
{
$toWho = $this->getArgument(0);
$toWhere = $this->getArgument(1);
$sayHappy = ”;

$happy = $this->getOption(‘happy’);

if ($happy)
{
$sayHappy = ‘, and so happy.’;
}

$this->out(‘Say hello to ‘ . $toWho . ‘ in the ‘ . $toWhere . $sayHappy);
}
[/cc]

getArgument 是取得 hello 後的 [command] 的值,第一個為 0 。
getOption 是取得 — 或 – 的名字。

因此,輸入指令 php cli/console hello Michael Office -a 將會輸出如下的畫面:
4__bash_123123

後面的 -a 有無,可以用來判斷流程或可加以處理。

Related Posts Plugin for WordPress, Blogger...

Leave a Reply