Home > CakePHP | PHP > CakePHP bake2タスクを作る

CakePHP bake2タスクを作る

この記事の所要時間: 152

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のセットアップなど開発に役立つタスクを増やしていきたいですね。

Pocket

follow us in feedly

トラックバック:0

このエントリーのトラックバックURL
/blog/2006/10/cakephp_bake2_task.html/trackback
Listed below are links to weblogs that reference
CakePHP bake2タスクを作る from Shin x blog

Home > CakePHP | PHP > CakePHP bake2タスクを作る

検索
フィード
メタ情報

Return to page top