cakePHPを用いて動くshellを作ることができる。
srcs/Shell以下にHelloShell.phpファイルを作成し、以下のように記述する。
namespace App\Shell; use Cake\Console\Shell; class HelloShell extends Shell { public function main() { $this->out('Hello world.'); } }
これを保存し、コンソールにて
$ bin/cake hello $ Hello world.
このようにHello worldと出力するシェルが出来た。bin/cake nameで実行すれば Shellを継承しているNameShellという名前のクラスのmain関数が呼び出される仕組みになっている。また、引数なしの場合はこのようにmain関数が呼ばれるが任意の関数をコンソールから呼び出すこともできる。
namespace App\Shell; use Cake\Console\Shell; class HelloShell extends Shell { public function main() { $this->out('Hello world.'); } public function heyThere($name = 'Anonymous') { $this->out('Hey there ' . $name); } }
$ bin/cake hello hey_there haruto $ Hey there haruto
コードはすべて公式ホームページを引用している