え〜と、PHPの新しいWebシステムプロジェクトが本格的に動き始め、たかな?


前回のシステムではモデル部分のレイヤー分けが中途半端で、ビジネスロジックとデータスキーマがぐちゃまぜになっちゃってて途中から整理が付かなくなってたので、今回は、設計段階でlogic層とdao層とio層を明確に分けてみました。
といっても、daoとioは同じインターフェイスを実装しているので、logicからはdaoとioはどっちでも同じに使えます。
logic→dao→ioっていう構造だと、マスタテーブルみたいな単純なスキーマでも全部daoクラスを書かないとイカんっちゅうことで、スクリプトで自動生成するにも手間がかかりすぎるのと、ファイル管理のコストがデカいので。
#単純なテーブルだとZend_DBがdaoの代わりに使えるしね。ちょっと融通が利かない場面もあるけど。


ついでに、今回はフレームワーク自体を動かすためのアーキテクチャに時間をかけなくて良いので、前のシステムでは書いてる時間がなくて使い切れなかったV-M間をつなぐsmarty pluginについて、実用レベルまで量を増やそうかと。