CakePHP1.2+Ktai LibraryでcakeErrorを使いたい

CakePHP1.2にてKtai Libraryを使って携帯サイトを開発中に躓いた。
僕の場合、モバイル用のviewのlayout.ctpの一行目がこんな感じ。
<?xml version="1.0" encoding="<?php echo $ktai->options['output_encoding']; ?>"?>
いきなりKtai Library用のHelper呼んでるんだよね。
んで、
Notice (8): Undefined variable: ktai 
なんてオシャレなエラーメッセージを出してくれます。
「$ktaiなんて無いよ、バカ」と言われても、こちらとしては、
「Controllerに設定しているだろ、バカ」ということになるんですが、cakeError()のソースコードを追ってみたら、Error用に独自にController用意されているみたいで、こりゃダメだわと。

んで、ネットで検索してたどりついたのがこちら。
CakePHPを本気で勉強: cakeError:ErrorHandlerで独自ヘルパーを使用する

それをちょっとカスタマイズして出来たのがコレ。
# app/app_error.php

/**
 * error 
 * 
 * @param mixed $params 
 * @access public
 * @return void
 */
function error($params){
    $this->controller->helpers[] = 'ktai';
    return parent::error($params);
}
/**
 * error404 
 * 
 * @param mixed $params 
 * @access public
 * @return void
 */
function error404($params){
    $this->controller->helpers[] = 'ktai';
    return parent::error404($params);
}
error404()もついでにやっておいた。

つうか、ネット上にこういった情報が皆無なのにビックリ。
Ktai Libraryってメジャーでしょ?
みんなエラー処理どうしてんの?
謎だわー。

コメント

アーカイブ

2012

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12

2011

2010

2009

2008

2007

コンタクト

longkey1[at]gmail[dot]com