Archive for 8月, 2007

CakePHP cakeError でエラー処理

1

CakePHP でエラー処理をさせるのに cakeError を使ってみました。
致命的なエラーのときに、メールを送信したりログを記録したりするのに使えるかと思います。

/app/error.php を作成

class AppError extends ErrorHandler
{
    function foo($params){
        // ここにエラー処理を書く

        // $params を展開
        extract($params);

        // view のディレクトリを指定
        $this->controller->viewPath='errors';

        $this->controller->set('message', $message);
        $this->controller->render('foo');
        exit();
    }
}

エラー用のビューを app/views/errors/foo.thtml に作成

呼び出し方は第1引数にメソッド名、第2引数にメソッドに渡すパラメータ

$params = array( array('message'=>'Error!') );
$this->cakeError('foo', $params);

$params の指定方法にちょっとだけ注意が必要です。

ジビッツ購入

0

ジビッツ

クロックスビジッツを付けてみました。
写真は右足ですが、左足にはカクレクマノミを付けてます。
もう少し付けた方がいいのかなぁ。

CakePHP DISTINCT の使用方法

1

cakebaker ? Using distinct and count with CakePHP

CakePHP で DISTINCT を使いたい時の方法が紹介されていました。

$this->User->find(null, "COUNT(DISTINCT User.city) AS 'count'");

find は /cake/libs/model/model_php5.php
function find($conditions = null, $fields = null, $order = null, $recursive = null)
と定義されています。
この $fields をうまく使っているということですね。

Smarty truncate のマルチバイト対応 mb_truncate

2

Smarty のマルチバイトプラグインの紹介の続きです。

truncate というプラグインが Smarty に標準であります。
文字列を指定文字数で切るというものです。
ただ、マルチバイトには対応していないため最後の切られた文字が文字化けしてしまうことがあります。

その truncate プラグインをマルチバイト対応したものが下記のページで紹介されている mb_truncate プラグインです。

このプラグインは以前からかなり重宝しています。
文字化けしたり、切り捨てられる文字数がおかしい場合は mb_internal_encoding で内部文字コードを指定してあげれば直ると思います。

もともとの配布元のページが見れないので、下記のページよりダウンロードできます。
kawama.jp: [Smarty]mb_truncate

Smarty のマルチバイト対応

0

マルチバイトの文字列を指定行数で強制改行する仕様があって、wordwrap 関数をマルチバイト化してさらに Smarty のプラグインを作ろうと思っていたらありました。

Smarty のマルチバイト対応
Artisan Version管理システム

マルチバイト処理に弱いとされる、Smartyをマルチバイト対応とし、よりアプリケーション内で役立てることができるよう、オリジナルの関数や、関数に改造を行っています。

7月に読んだ本

0

7月に読んだ本のメモ
一番のお勧めは一番下に書いた「ビーサン屋げんべい物語」。
葉山にあるビーチサンダル専門店「げんべい」さんが出した本です。
たかがビーサンと侮れませんね。私も1年中愛用させていただいております。

Lifehacker インターネット時代のワークスタイル改善術!

Lifehacker インターネット時代のワークスタイル改善術!

2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14)

2ちゃんねるはなぜ潰れないのか? (扶桑社新書 14)

「1日30分」を続けなさい!人生勝利の勉強法55

「1日30分」を続けなさい!人生勝利の勉強法55

PHPによるデザインパターン入門

PHPによるデザインパターン入門

WordPress標準ガイドブック―導入&基本操作からフルチューンまで

WordPress標準ガイドブック―導入&基本操作からフルチューンまで

モバゲータウンがすごい理由 ~オジサンにはわからない、ケータイ・コンテンツ成功の秘けつ~

モバゲータウンがすごい理由 ~オジサンにはわからない、ケータイ・コンテンツ成功の秘けつ~

WEB+DB PRESS 総集編 [Vol.1~36]

WEB+DB PRESS 総集編 [Vol.1~36]

レバレッジ・シンキング 無限大の成果を生み出す4つの自己投資術

レバレッジ・シンキング 無限大の成果を生み出す4つの自己投資術

ネットで人生、変わりましたか?

ネットで人生、変わりましたか?

iPhone 衝撃のビジネスモデル

iPhone 衝撃のビジネスモデル

ビーサン屋げんべい物語―葉山の片隅から世界を狙うオンリーワン商店


Go to Top