2010年4月24日土曜日

Simple@Idx 2010/04/24

Simple勉強会@中山にて。
今日は何をしようか…
ひたすらPHPのコーディングをすることにした。

ページ・コントローラー作ってみた

今までMVCといったパターンを避けてきましたが、少し作ってみることに。
あるプロジェクトで、ちょっと複雑なことをしたら、コードが汚くなってしまった。IF文が続いて、追加・修正が面倒な感じ。そこで、ページコントローラー(Page Controller)なるパターンのクラスを作ってみた。

ちょこっと60行程度のクラス。
連続するIF文の代わりに関数で区切って、コントローラーに関数と条件を登録。
たとえばこんな感じ。

$mc = new pageMC();
$mc->setFunc( 'search_data', 'act',   'search' );

URIに「act」という変数に「search」が入っていると「search_data」という関数を走らせます。
次々と関数と条件を設定してあげると、比較的簡単に移植はできた。

すべての関数で共通して使うオブジェクトの渡し方とか、メッセージ表示方法など、使い方を取り決めておかないと問題が起きそう。

その代わり、一度作ってしまえば、新しい関数を追加するのは簡単になりそうだ。

データアクセスの制限

たとえば会員専用のデータがあったとして、
DBのレコードに会員IDを記録させるとして、
他の会員のデータの読み書きを制限したい。

それをDAO(Database Access Object)のレベルで自動的?に制限するルーチンを書いてみた。
コードとしては20行程度のメソード二つ追加して、5箇所ぐらいの修正でできた。こんなに簡単にできると、かえって心配になる。

本当に便利になるのかどうか、バグとかは使い込まないと分からないかも。

0 件のコメント: