CakePHPバッチ開発で高速にバッチを実装する

CakePHP2

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のバッチに慣れると、便利すぎて普通のバッチを書きたくなくなります。かなりおすすめです。