CakePHPでバッチを実装する方法です。
■CakePHPでバッチを実装することの利点
今まで作ったモデルなどが再利用することができます。また、DB接続の機能、ORM機能など、CakePHPの便利な機能を利用することができるので、開発速度が上がります。
■CakePHPでバッチを実装する方法
・ソースコードの配置場所
app/Console/Commandの下にソースコードを配置します。
・ソースの名前の付け方
以下のような命名規則で設定します。
TestbatchShell.php
・実装方法
以下のように実装を行います。モデルもコントローラーと同じようにusesに記述すると利用することができます。
<?php
class TestbatchShell extends AppShell {
// 使うモデルをここに書く
public $uses = array(
'Test', // テストモデルを読み込む
);
/**
* バッチ開始前の処理
*/
public function startup() {
// 前処理をここに記述します。
parent::startup();
}
/**
* バッチのメイン処理を記述
*/
public function main() {
// ここに処理を記述する
echo "hogehoge";
}
}
■バッチの起動方法
以下のコマンドを使うことで、実行することができます。
app/Console/ディレクトリの中にあるcakeというスクリプトを利用します。以下のように実行します。
./cake Testbatch
実行すると、メイン処理の内容が表示されると思います。
CakePHPのバッチに慣れると、便利すぎて普通のバッチを書きたくなくなります。かなりおすすめです。