この記事の所要時間: 約 1分52秒
CakePHP bake2でテーブルひな形を作るでご紹介したように、1.2系に含まれているbake2では任意のタスクを呼びだせる設計になっています。なかなか面白い機能なので試しにHelloタスクを作ってみました。
bake2タスクはBakeTaskクラスを継承します。オーバーライドするメソッドはexecute()とhelp()メソッドです。名前のとおりexecute()メソッドではタスク処理、help()メソッドではタスクのヘルプを表示します。
[cake/script/tasks/hello_task.php]
< ?php class HelloTask extends BakeTask { function execute($params) { foreach ($params as $param) { printf("Hello %s.\n", $param); } } function help() { echo "The Hello task \n"; echo "Usage: bake2 hello name\n"; } } ?>
Helloタスクを呼びます。
FooとBarがHelloタスクへのパラメータになります。ソースを見ても分かるようにパラメータはexecute()メソッドに配列で渡されます。
$ php -f bake2.php hello Foo Bar Hello Foo. Hello Bar.
helpをパラメータにするとHelloタスクのhelp()メソッドが呼ばれ、ヘルプが表示されます。
$ php -f bake2.php hello help The Hello task Usage: bake2 hello name
単純ですがタスクを実行する仕組みが用意されたのは嬉しいです。コードジェネレータやDBのセットアップなど開発に役立つタスクを増やしていきたいですね。
- Newer: PHPのちょっとしたコツ
- Older: CakePHP bake2でテーブルひな形を作る
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2006/10/cakephp_bake2_task.html/trackback
- Listed below are links to weblogs that reference
- CakePHP bake2タスクを作る from Shin x blog