今日は何をしようか…
ひたすら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 件のコメント:
コメントを投稿