役立つというかいつも見てるところ。自分用。
Yii actionAdminのsearch-formとCGridViewで悪戦苦闘
Yiiを使う
Yiiを少しまじめに学習してみる:ユーザ認証とRDBの利用
役立つというかいつも見てるところ。自分用。
Yii actionAdminのsearch-formとCGridViewで悪戦苦闘
Yiiを使う
Yiiを少しまじめに学習してみる:ユーザ認証とRDBの利用
連日、phpフレームワークのYiiさわってます。
多分基本的なところに勘違いがあるためなんだろうけれども、フォームの作成でつまづいています。
ユーザ情報を登録するフォームで、例えば血液型のドロップダウンリストがあるとする。血液型のリストは血液型テーブルから取ってくるとする。
こんな単純なことが解決できない。秒殺だろう普通。
foreachとかで作るぶんにはいいんですが、フォームビルダみたいなのがあって、そいつを通そうと思うとダメですね。手がかりを見つけられない。
ガイドの日本語記事が本家にあってありがたいんですけど、どこか飛ばし気味というか、言わなくても分かるだろう部分は書かない的なスタンスにある感じがします。どのファイルのことかわかってるだろうから、このコード断片がどこに書かれるのかは言わないよというような。
類推しながら読むことを強要されるのですごい疲れます。
できれば後日にコレを読み返して、くだらない勘違いでストレスためてたなーバカだなーと笑える日が来て欲しい。
あーイライラする。
追記:
愚痴ると直後に解決の糸口を発見してかっこわるいの法則。
フォームビルダを使う
これの下のほうだ。よかった。
かっこ悪いがいつものことなので気にしない。
いきなり他サイトの記事の紹介です。
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かコレって思うほどです。
が、やりくりして書きだされた画面を眺めると、はーこりゃ楽だすごいなという感想を抱かずにはおれません。
プロジェクト立ち消えにつき研修やる必要がなくなった。
フー
Yiiもさわりはじめた。アレコレ親切なのはすごい。すごいが、いざというときに邪魔になったりしないだろうなという不安も。
Web画面からcrud一発作成は便利だなー
こういうのはじめて触ったんだけど感動しますね。
自機じゃなくてLAN内の鯖にスクリプトを置いたため、giiを動かす際に手間取りました。
「You are not allowed to access this page.」なんていわれて403返されちゃう。
えー403?動いてるけど403ってーと?
'gii'=>array( 'class'=>'system.gii.GiiModule', 'password'=>'pAsSwOrD', // If removed, Gii defaults to localhost only. Edit carefully to taste. 'ipFilters'=>array('127.0.0.1','::1','192.168.0.*'), ),
こんなんでいけた。