本番運用時は不要なDebug_kitなどを読み込まないようにするテクニック

本番時(debug=0)、Debug_kitは読み込まれてしまっても画面に表示しないようになっていますが、それでもコンポーネントの起動処理が発生するため無駄な処理が走ってしまいます。とはいえ、毎回本番デプロイする時に、Debug_kitの読み込み箇所を消すなんてこともできません。

CakeFestのワークショップのソースコードを見てたら、タイトルのようなことをやってる箇所を発見。(ちなみにワークショップは参加してません)
http://github.com/cakephp/CakeFest-2010-Workshop/blob/master/app_controller.php

<?php
class AppController extends Controller {
  public $components = array('Session', 'Auth', 'RequestHandler');

  public function __construct() {
    if (Configure::read('debug')) {
        $this->components[] = 'DebugKit.Toolbar';
    }
  parent::__construct();
}

AppControllerのコンストラクタでdebug値を判定して、componentsプロパティに追加しています。

シンプルで良いですね。