いきなり他サイトの記事の紹介です。
RadioAge.Comさんによる、
Yiiを使う
Yiiを少しまじめに学習してみる:ユーザ認証とRDBの利用
Yiiによる本サイトの作り方メモ
この神記事がなかったら、こんなフレームワークに手を出したことを死ぬほど悔やみ、これって時代についていけてない兆候なんだろうという未練を引きずりつつヨロヨロと生きるところでした。
あぶない。
普段なら表組みでtr,th/tdの一組をくるくる回すテンプレート書いちゃうところを、ウィジェット使ってphpの部品として書かせるという点は、とくにこのフレームワークにおいて信じがたい、理解しがたいところなんじゃないかと思います。
少なくとも、テーブルやdl,ulの類をくるくるしたいんだけどという疑問をお持ちの時に、公式サイトの「ビュー」をいくら眺めても解決しません。
いったんテーブルなりリストなりが出来上がって出力されると、ソートやページングまでが書きだされた「よく使うタイプの一覧表」になっていることがわかり、ここまで至れて尽くせるためにCActiveDataProviderとかいう訳の分からんものを作る羽目になったのであるかと納得する仕掛けになっています。
凄いと感嘆しそこまでやるのかと呆れる次第。ほんとうに凄いと思う。
一方でちょっと心配になっちゃうのは、プログラマとデザイナーが分業の場合のコストは非常に高い作りなんじゃないのかなという点です。きょうびphp(perl/ruby/pythonなんでもいい)のコードがまるでわかんないですというデザイナーさんもそうそういないだろうけれども、Widgetつうのがありましてーとか説明するのは大変にだるい。
今回のあたしみたいに作るのぜんぶ自分一人というケースにおいてすら、
「テンプレ眺めただけでは出力後の一覧表の作りが一切想像できない」
というところに戸惑いを感じずにはいられないわけです。とくにテーブルを組むときに使うであろうzii.widgets.grid.CGridViewにおいては。
zii.widgets.CListViewでテンプレート指定した場合(‘itemView’=>’_view’)でも、ここからさらに_view.phpを追いかけないことにはループ一回分の中身がわからない。
「プログラマとデザイナーが分業の場合のコスト」と上で書きましたが、正確には「意思疎通がスムーズでないチームにおいてのコスト」と言い換えるべきなのかも。
ここはコレコレのウィジェット使うねーはいはいーで通じる間柄であれば大したコストではなさそうです。関わる人みんながYiiについての理解があるというケースね。
まっとうな人で構成された小規模なチームでの作業には効きそうという感じ。
人月でどうのこうのじゃとやっとる我らがSIerさんの世界では、まあなんつうか、名前だけ知ってればいいよね的ポジションのフレームワークなんでないかと思います。
当初、Yii+Twigでつかうことを考えてたんです。
Giiあたりのcrud画面まで吹っ飛ぶ(自分でいじってあげないといけない)ことを鑑み、忘れることにしました。
はー。生PHPだ。
あとは、本気の本気でCSSいじるか、ほぼいじらずにデフォルトのまま作ってなんとかなっちゃう場合には有効な選択肢足りえるかな。デフォルトのCSSのボリューム事態は実に大したことないので、いじるといってもそんなオオゴトでもないか。
読み返してみるとすごい悪口言ってるように見えますが、これはこういうものとして捉えて見ると、優れたフレームワークの気配は感じています。
CodeIgniterみたいなとっつきやすさはないです。変態さんFWかコレって思うほどです。
が、やりくりして書きだされた画面を眺めると、はーこりゃ楽だすごいなという感想を抱かずにはおれません。