コンソールからCakeを実行する方法。例えばcronで使う。
##コンソールから実行されるクラス作成
app/Console/Command/直下に、AppShellを継承したクラスを作成する。
コンソールから実行されるクラス
class HogeShell extends AppShell{
//使用するモデル
public $uses = ['Hoge'];
//AppShellでウェルカムメッセージの表示を行っている。オーバライすると抑止される。
//初期化に使うのもあり。
function startup(){
parent::startup();
}
//呼び出しの際にメソッドの指定がなければmain()が呼ばれる。コントローラのindex()と同じ。
function main(){
// モデルを使用できる
$hoge = $this->Hoge->find('all');
}
function hogeMethod() {
$arg0 = $this -> args[0]; // コマンドで渡した引数は $this -> args に配列でセットされている。
}
/** このようなパラメータの渡し方は出来ない
function myInvalidMethod( $arg ) {
}
*/
}
##コンソールから実行
コンソールから実行
app/Console/cake.php クラス名(shellを除いたもの) メソッド名(省略すればmain) パラメータ(複数渡せる)