『WEB+DB PRESS vol.44』を読んだ
- 作者: 鵜飼文敏,ミック,はまちや2,小飼弾,萩本順三,角田直行,きたみりゅうじ,小田慎一郎,河合太郎,大野道誉,宇野浩史,田中洋一郎,大塚知洋,nanto_vi,縣俊貴,岩澤直樹,下岡秀幸,山本陽平,伊藤直也,高井直人,永安悟史,角谷信太郎,高林哲,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2008/04/23
- メディア: 大型本
- 購入: 2人 クリック: 31回
- この商品を含むブログ (50件) を見る
定期購読している『WEB+DB PRESS』の最新号が届いたので読んだ。おもしろかった部分をいくつか。
PHPのarray関数はウザい?
3ページの脚注より。
「たいていの言語は配列を [1, 2] などと記述できるのに対し、PHPは array(1, 2) とわざわざ "array" を書かなければいけない」
私は「わざわざ」なんて思ったことがなかったので、新鮮に感じた。「わざわざ」と思っている人が多ければ、id:rskyさんのパッチもすんなり受け入れられそうなものだが、そんな単純な話でもないのかな。
MVCそれぞれの役割
86ページより。
Viewの変更は画面の変更ですので、Webデザイナが行えるのがベストです。Controllerの変更は業務処理の変更ですので、業務処理を理解している人がアプリケーションの制御を変更します。Modelはシステムで取り扱うデータ属性の変更・追加ですので、データベース構造を理解している人が行うのがベストです。
そして174ページより。
- Modelはアプリケーションの処理の中心。ドメインロジックを実装するところ。
- Controllerは仲介者
- Viewは見た目
両者の説明がずれている。私は後者、id:naoyaさんの説明のほうがしっくりくる。
さらに176ページより。
Modelを、さらに三層に分ける考え方もあります。
id:dannさんが「CatalystでのMVCの私的まとめ - dann@catalyst - Catalystグループ」で書かれているServiceクラスは、これの2番目と3番目がまとまったものだろう。私は今、このMVC+Serviceというアーキテクチャスタイル(呼び名あるのかな?)に強く惹かれている。MとCの役割がより明確になるので。
必須パラメータが抜けていたら「400 Bad Request」を返す
最後に165ページより。
検索結果リソースは必ずqというパラメータを指定することになっています。クライアント側の何らかのミスでこのパラメータが抜けてしまった場合は、400 Bad Requestを返すこととします。
いわれてみれば当たり前の挙動なのだが、実装から漏れやすそう。Controllerでのバリデーション時に必須パラメータの抜けを検出したら「400 Bad Request」を返すような仕組がフレームワークにあるとよいかな。