Cake1からCake2に移行した際に、Call to a member function body() on a non-objectエラーが出る場合の対応

Cake1.2からCake2に乗せ換えしていてはまった話。
エラーログに下記のようなメッセージが出てうまく表示できない場合、コントローラのresponseオブジェクトが存在しないのが原因。$this->response->body()をCakeのコアコードで呼び出すのでその時にresuponseオブジェクトが無いからメソッド呼び出しエラーとなる。

Fatal Error (1): Call to a member function body() on a non-object


理由は、Controllerのコンストラクタを下記のように記述しているからでした。。。。

function __construct() {
	parent::__construct();
}


Cake2からはコンストラクタにrequest,responseオブジェクトが渡されるのでそれを考慮しないといけない

function __construct($request, $response) {
	parent::__construct($request, $response);
}

いやー、はまったわー。保守もしたことがないコードの載せ換え作業は大変ですねー