CakePHP/シェルから実行する

バージョンと製造年月日

基本

app/vendors/shells

以下にファイルを作る。

hoge_piyo.php

これが最大粒度になるのでその粒度に合わせてつくろう。シェルを組み合わせて何かするのではなくあくまでモデルを組み合わせて動作させる

適当に作る。ファイル名をキャメルしてShellをくっつけてクラスを作る

class HogePiyoShell extends Shell{
    var $uses = array();
 
    function main(){
        echo "hoge";
    }
}

実行する。cakeのスクリプト自体に実行権限をつけておく必要がある。Windowsならいらんけど

a/b/c/cake/console/cake -working a/b/c/app hoge_piyo

そしてworkingオプションを使って起点となるアプリの位置を明示する必要がある。shellはその起点から勝手に探すみたい。 この指定をしてないとshellを探せなくて

Error: Class HogePiyoShell could not be loaded.

なんて出たりするから注意