ariyasacca

カテゴリ一覧

Biz | SF | Software | tDiary | Web | ゲーム | サバティカル | スポーツ | ミステリ | メタル | 健康 | 投資 | 携帯 | 時事ネタ | 死生観 | 資格 | 雑記
2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2010-06-21 (月) [長年日記]

[雑記]CodeIgniter雑感

ちょっとした社内ツールを作らなければいけない要件があったのですが、与えられている時間が少なかったので、前から気になっていたPHPのWebアプリケーションフレームワークCodeIgniterを使ってみたところ、とても良く出来ていてこれは便利だなぁと感心しました。

  • 充実したユーザガイド
  • サーバ側にそのまま配置して、必要であればmod_rewriteを設定するだけのお手軽さ。
  • 押し付けの少なさ。必要なところだけ使えば良いので、MVCのVC部分だけ流用するのも簡単。
  • 明示的にロードするまでモジュールを読みに行かないためサクサク動く。毎回使うモジュールはオートロードに設定しておけば楽。

言語仕様にアクセス修飾子が含まれていなかったPHP4もサポートする関係から、やや古めかしい規約ベースの命名縛りがあるものの、とても良く考えられたフレームワークです。

僕の場合はsystem/application/helpers/MY_string_helper.phpファイルを作って下記のヘルパ関数を追加したくらいで、後は最初から用意された機能だけで、やりたかったことは実現出来ました。

if (!function_exists('h')) {
    function h($str, $charset='utf-8') {
        return htmlspecialchars($str, ENT_QUOTES, $charset);
    }
}

if (!function_exists('d')) {
    function d($o, $isExit=true) {
        echo "<pre>";

        switch (true) {
        case is_object($o):
            var_dump($o);
            break;

        case is_array($o):
            print_r($o);
            break;

        case is_bool($o):
            echo ($o === true) ? "TRUE\n" : "FLALSE\n";
            break;

        default :
            echo $o . "\n";
            break;
        }

        echo "</pre>";

        if ($isExit) {
            exit();
        }
    }
}

ユーザガイドは詰まった時しか参照していないので、もしかしたら、わざわざ追加定義しなくても用意されていた機能かもしれません。

コマンド叩いて自動生成みたいな、わざわざPHPっぽくないことをやらない割り切りのお陰か、かえって使い易くなってる印象です。作りたいものが小規模で最初から全体像が見えているようなケースでは、CodeIgniterとてもお薦めです。

DB設定がmysqlじゃなくてmysqliだった

余談だけど、かなり久し振りにPHP触ったのでデータベース設定がずっと上手く行かなくて「おいmysqlをちゃんと指定しているのに動かないぞ!」と袋小路に迷い込んでしまいました。よく考えたら、使っているのがmysqliだったので、こっちを指定したらちゃんと動きました。

小1時間、これにハマってしまって恥ずかしい。

$db['default']['dbdriver'] = "mysqli";

Active RecordやScaffoldingは、個人的に要らなかったので使いませんでした。

[ミステリ]高田崇史『麿の酩酊事件簿 花に舞』

麿の酩酊事件簿〈花に舞〉 (講談社文庫)(高田 崇史)

名門・勧修寺家の十七代目当主にしてベンチャー企業のオーナー、文麿。三十一歳・独身貴族の彼は、理不尽な家訓に適う素敵な花嫁を募集中!しかし彼の前に現れる美女たちは、なぜかトラブルメーカーばかり。彼女たちが巻き込まれた事件を、酔うほどに冴える酩酊推理で解決する文麿だが、結婚への道は遙か遠く。

「酔えば酔うほど推理が冴えるとか、マンガかよ!」とツッコミを入れながら読んだら、ほんとにマンガの原作がある作品だったらしい。あとがき読んで初めて知ったよ。

短編が4作収録されているけど、ほぼ定型フォーマットで話が進む。

  1. 文麿が美女と出会う
  2. がんばってアプローチかけてデートに誘う
  3. 酔って名推理して事件解決
  4. 翌日ひどい二日酔い、美女は遠くへ行ってしまう

二日酔い状態の文麿がイラッとするところまで含めて、作者の狙いどおりなんだろうなぁという感じの物語である。

短編集とは言っても、連作形式となっていて大きな時間軸は繋がっているのだけど、話の続きがとても気になるところで1冊終わってしまったのがとても残念。


最近のツッコミ

  1. ともお (2024-05-29(水)20:59)「真上からの恐怖🫨」
  2. いちごみるく (2024-05-29(水)20:59)「🩸」
  3. レモン (2024-05-29(水)20:59)「レモン」

参号館  の中の  日記(ariyasacca)

トップ «前の日記(2010-06-10 (木)) 最新 次の日記(2010-06-27 (日))» 編集