使用 Joomla Jconsole 操作方法

在前篇 [Joomla 3 cli 開發範例] 有提過使用 Joomla 內所使用的 cli 目錄來開發 CLI 的應用程式。

除此這樣的應用之外,還有一個叫做 JConsole 的套件可提供許多現有的方法來快速開發,你可以到這位作者 asika32764 的 Github asika32764/JConsole 查閱相關資訊。

執行指令的格式

一般在文字命令下執行 php 的應用程式會是如以下:
[cc lang=”bash”]
php run_me.php arg1 arg2
[/cc]

在 JConsole 下執行將會是如下:
[cc lang=”bash”]
php cli/console run_command run_sub_command arg1 arg2
[/cc]

產生主指令

輸入 php cli/console 會列出如下的預設指令:
螢幕快照 2014-07-30 下午4.03.34

輸入 php cli/console build gen-command 將會問你一些問題,執行如下:
螢幕快照_2014-07-30_下午4_06_59
注意 namespace 必需要字頭為大寫

產生完成之後,再輸入 php cli/console 可以看到有一個 hello 指令:2014_7_30_下午4_10

這樣主要的指令就出來了,然後在 joomla/cli/jconsole/src/Command/Hello/Hello.php 打開該檔案。並在 doExecute() 寫一行程式碼做一下測試:
[cc lang=”php”]
protected function doExecute()
{
$this->out(‘Hello!!’);
}
[/cc]
然後執行指令 php cli/console hello 就會列出 「Hello!!」,如此一番,這樣就可以在這個程式下開發了。

產生副指令

如果該程式還有需要副指令的需求,如下:
[cc lang=”php”]
php cli/console hello world
[/cc]

則也是用 build gen-command ,但是!!有個地方要注意,如下圖:
4__bash
輸入指令 php cli/console hello -h 的畫面如下:
2014_7_30_下午4_27
是的,就這樣多出一個副指令了。

建立副指令時 namespace 必需是要與主指令後連接為一個斜線,這樣子這支副指令的程式將會產生在主指令下的目錄中,所以整個目錄就像這樣:
Hello_php_-_ihealth-schedule_-____app_dev_jconsole

然後緊接著也在 Hello 目錄下的 World/World.php 打開也一樣在 doExecute() 那裡輸入字串輸出的程式碼
[cc lang=”php”]
protected function doExecute()
{
$this->out(‘Hello world!!’);
}
[/cc]

然後在命令列那裡打入 php cli/console hello world 只要看到剛輸入的那個字串,則可以再做後續的開發了。

Related Posts Plugin for WordPress, Blogger...

Leave a Reply