ちょっとした社内ツールを作らなければいけない要件があったのですが、与えられている時間が少なかったので、前から気になっていたPHPのWebアプリケーションフレームワークCodeIgniterを使ってみたところ、とても良く出来ていてこれは便利だなぁと感心しました。
言語仕様にアクセス修飾子が含まれていなかった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とてもお薦めです。
余談だけど、かなり久し振りにPHP触ったのでデータベース設定がずっと上手く行かなくて「おいmysqlをちゃんと指定しているのに動かないぞ!」と袋小路に迷い込んでしまいました。よく考えたら、使っているのがmysqliだったので、こっちを指定したらちゃんと動きました。
小1時間、これにハマってしまって恥ずかしい。
$db['default']['dbdriver'] = "mysqli";
Active RecordやScaffoldingは、個人的に要らなかったので使いませんでした。
名門・勧修寺家の十七代目当主にしてベンチャー企業のオーナー、文麿。三十一歳・独身貴族の彼は、理不尽な家訓に適う素敵な花嫁を募集中!しかし彼の前に現れる美女たちは、なぜかトラブルメーカーばかり。彼女たちが巻き込まれた事件を、酔うほどに冴える酩酊推理で解決する文麿だが、結婚への道は遙か遠く。
「酔えば酔うほど推理が冴えるとか、マンガかよ!」とツッコミを入れながら読んだら、ほんとにマンガの原作がある作品だったらしい。あとがき読んで初めて知ったよ。
短編が4作収録されているけど、ほぼ定型フォーマットで話が進む。
二日酔い状態の文麿がイラッとするところまで含めて、作者の狙いどおりなんだろうなぁという感じの物語である。
短編集とは言っても、連作形式となっていて大きな時間軸は繋がっているのだけど、話の続きがとても気になるところで1冊終わってしまったのがとても残念。
最近のツッコミ
参号館 日記(ariyasacca)