【PHP】フレームワークについて語るスレ7【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/06/09(土) 09:48:36ID:6f8TWb7Z【PHP】フレームワークについて語るスレ6【総合】
http://pc11.2ch.net/test/read.cgi/php/1171896620/
[PHP]フレームワークについて語るスレ5[総合]
http://pc10.2ch.net/test/read.cgi/php/1159579507/
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0554nobodyさん
2007/08/25(土) 15:41:51ID:m12CHPqLダメさを今一理解していない俺に、QFの機能でダメな点を教えてくれ。
QF無しだと確認画面尽きデータ更新画面作るの超面倒臭くない?
入力値のバリデートもフィルタも。
そういう時は皆QF以外の何使ってるんでしょう。
0555nobodyさん
2007/08/25(土) 15:55:04ID:???CakePHPなどのフレームワーク。
0556nobodyさん
2007/08/25(土) 16:40:10ID:???特に入力値のバリデーションとかで
Mojaviとかのフルスタックのフレームワークに組み込みにくいという事情があった
でも今でもSymfonyとかCakeとかCIとかが持つフォームシステムで
QFほど何から何まできちんとやってくれるものはないと思う
特にバリデーションJavaScript自動生成とfreeze()あたりは
今風のフレームワークでも何らかで実装してほしいものだなー
あとQFCは死んでるしやるだけ時間の無駄だと思うw
0557nobodyさん
2007/08/25(土) 16:54:28ID:???2年前の記事だけど
http://hatotech.org/kumatch/archives/000475.html
一時期QFが取り上げられて流行ったけど
QFだとフォームのエレメント主導の作りになっちゃうんだな
フォームにvalidationがぶら下がっちゃうっていうか
コントローラにエレメント生成のコードが入っちゃうし
あと複雑なフォームの構成になるとトリッキーなコードになりやすかった
現状のFWなら大体フォームエレメントの生成はViewHelper、
入力値のvalidationはValidatorでやる形が主流だな
歴史的にそういう経緯があって、今こうなっているということは
結局今の形がよりベターな構成だということなんじゃないかな
0558nobodyさん
2007/08/25(土) 16:55:36ID:???>>556
自社製FWしか使った事が無くて、
それはQFを組み込んだものでして。
CIとかCakeのマニュアルを流し読み程度はしてみたものの、
面倒臭い確認画面尽きの時の画面遷移コントロールなんかがカバーされてるようには見えなくて、不思議に思ってました。
海の向こうでは確認画面あまり出さないからなのかな、とか。
フォーム要素をPHPオブジェクトと対応させるQFの発想は悪くないと思うのになぁ、とか。
まぁ、とりあえず実際にCI、Cake辺り触ってみるのが早そうですね。
0559nobodyさん
2007/08/25(土) 17:09:11ID:???確かにフォーム要素をQFでごにゃごにゃ書くのは面倒ですね。
書き方覚えるのも。個人的にはjsと同じ書き方でやらせてくれればいいのにと思います。
0560nobodyさん
2007/08/25(土) 17:36:07ID:???信頼性は皆無なので、結局サーバサイドでのバリデーションが必要になるよね。
だからバリデーションJavaScript自動生成を好んで実装したがるFW作者は少ないと思う。
フォーム要素とPHPオブジェクトのバインディングとは少し違うけど、
HTML_Template_Flexyでのフォーム要素の扱いは知っておいて損はないかも。
0561nobodyさん
2007/08/25(土) 18:24:06ID:???QFだとバリデーションをひとつ設定すればサーバサイドとクライアントサイドを自動的にやってくれるんで
信頼性をサーバサイドで確保しつつUI利便性のためクライアントサイドで……ってのが
とても簡単にできたのよ
(自作ルールセットではさすがにそうもいかないけど)
最近じゃクライアントサイドの利便性はAJAX使えってことになっちゃうのかなぁ
でもそれ自体をやりやすくしてるフレームワークってあるのかな
AJAX対応のASP.NETとかはそれに近いことをやってた気がするが……
0562nobodyさん
2007/08/25(土) 18:45:15ID:CTb1TM+mそれに、主要フレームワークはほとんどビューヘルパーとか用意してるけど、
実際問題、ベタ書きした方が正確だし、デザイナーにも易しいだろ。
0563nobodyさん
2007/08/25(土) 19:07:06ID:S/G680iY自分もそう思う。
0564nobodyさん
2007/08/25(土) 20:34:11ID:???なんだこりゃ。
0565nobodyさん
2007/08/25(土) 21:31:26ID:???フォームがDBのテーブルへの操作窓であるような概念のアプリの場合は
クラスがバリデータとかを提供する方がむしろ自然になるような設計もあると思う
QFでそれをやろうとすると、HTMLとか$_POSTとかまでQFが面倒みちゃうんで
その辺が激しく気持ち悪いことになるのが難点だけど……
HTMLについてはベタ書きよりもきちんと生成されたものの方が正確って考え方もできると思うよ
あとデザイナはフォームがどうなろうと周囲の枠だけ書けば良いような場合もあるし。
結局いつもの「適材適所で」みたいな結論になっちゃうのが残念だがなぁ
0566nobodyさん
2007/08/25(土) 21:37:02ID:S/G680iY>>556の言う「QFほど何から何まできちんとやってくれるものはないと思う」って
具体的になにをさしてるのかわからんわ。JSとか言ってるところ見ると
仔細なチェックまでFWに背負わせようとしてるんじゃないの。そんなの
スクラッチでやったほうが確実だっての。
0567nobodyさん
2007/08/25(土) 21:38:40ID:???0568nobodyさん
2007/08/25(土) 21:40:44ID:???スクラッチでやるよりも、
何もしないほうが確実ですよ?
JavaScriptはほぼ自動生成です。
仔細なチェックは当然、phpコードで書きます。
それだけで自動でJavaScriptコードが生成されるのです。
0569nobodyさん
2007/08/25(土) 21:43:58ID:???0570nobodyさん
2007/08/25(土) 21:45:52ID:???0572nobodyさん
2007/08/25(土) 21:48:56ID:???0575565
2007/08/25(土) 22:10:37ID:???べつに相手を言い負かそうとかどっちが勝ちとか考えずに
フレームワークとかフォーム処理とかの良い実装について語り合えるって程度でいいんだけどー
>>566
FWのクラスでも充分だしQFでも充分なバリデートが出来るって話でしょ。
FWの意義のひとつにはなるけどQFが不要になる理由にはならないよね。
あとQFでJSを自動生成できるのはサーバ側でできるチェックより劣るので
完全にUI利便性(POSTする前にすぐにエラーを見つけられるとかその程度)だけの問題。
0576nobodyさん
2007/08/26(日) 00:35:40ID:???フォームちょこっと変えたいだけなのに
ViewじゃなくてControllerにあるエレメント設定をいじらないといけないとか
ちょっと入力必須にしたいだけなのにエレメント設定しないといけないとか
でQFでやってるとフォームに関する全ての処理を
QFでやらないといけない感が漂ってきて
FWでMVCに沿ってるはずがだんだんQF主導のコードになっちゃうわけ
RequestもValidationもViewHelperも兼ねてるからそうならざるを得ない
多機能なライブラリが故にそれが仇となってFWに組み込みづらくなる
だからといってそれらの処理をFWによる機能とQFの機能で
中途半端に混ぜて使ってしまうともう最悪のパターンになる
だから、使わない
0577nobodyさん
2007/08/26(日) 01:05:13ID:???0578nobodyさん
2007/08/26(日) 01:52:27ID:???webベースのエディタ画面でフォームを作成すると、
それに合わせたコードが吐き出されて、
ついでにDBのテーブルも作ってくれる。
これで名実共にWeb版VBの名を欲しいままに・・。
0579nobodyさん
2007/08/26(日) 02:03:09ID:???0580nobodyさん
2007/08/26(日) 04:06:26ID:???マスタ系テーブルだけ先に手動で作らせておいて、
セレクトボックス、チェックボックス、ラジオボタンはそれを使わせる。
連関エンティティが必要になるようなフォームは自動生成からは切り捨てる。
idはサロゲートキー。
text=varchar
textarea=text
0581nobodyさん
2007/08/26(日) 04:53:39ID:???なので、JS付きのValidateしてくれるQFを見た瞬間!!!これだ!!と。
それだけなんです。JS覚えればQFなんていらないです。
でも覚えられないんです。すみませんでした。
0582nobodyさん
2007/08/26(日) 05:09:13ID:???HTMLにjsが入るのも気に食わん
0583nobodyさん
2007/08/26(日) 05:59:51ID:???ajaxでやるならともかく
QFみたいなダサダサチェックは素人くさいよ
まだあるっちゃあるけど
0585nobodyさん
2007/08/26(日) 08:56:04ID:???0586nobodyさん
2007/08/26(日) 09:52:19ID:???追加の機能であるJavaScriptでの検証。
それもサーバー側でのチェックと同じ機能を
二回も書くなんて面倒。
DRYの原則に反する。
自動で生成されたら楽。
0587nobodyさん
2007/08/26(日) 10:08:32ID:???でなきゃ、「UI」改善のための実装ならajax使うでしょ。
今時html埋め込みの単なるjs使う意味は?
0588nobodyさん
2007/08/26(日) 10:15:11ID:???そんなことも想定できないほど脳が腐ってますか?
0589nobodyさん
2007/08/26(日) 10:19:05ID:???貧者の発想という気がする
0590nobodyさん
2007/08/26(日) 11:03:26ID:???通信量なんか関係ないんじゃね?
0591nobodyさん
2007/08/26(日) 11:06:18ID:???0592nobodyさん
2007/08/26(日) 11:13:50ID:???当たり前すぎなんだが、そんなこも知らずに話してたんか。
だから通信が発生するAjaxは論外。
結局、否定しているやつはなんもわかってないじゃねーかw
0593nobodyさん
2007/08/26(日) 11:19:30ID:???> JSチェックで削減できる通信量がどれだけあるのかって話だよな
> 貧者の発想という気がする
どうやっても、JavaScriptによるレスポンスの速さを
サーバー通信が必要な方法で超えることはできんよ。
問題は通信量ではなく、すばやい反応。
そこを勘違いしていたお前の負けだ。
0594nobodyさん
2007/08/26(日) 11:42:52ID:???郵便番号から住所への変換とかはAJAXで利便性も上がる一例だけど
項目のrequiredチェックなんぞにいちいちAJAX使ったら利便性下がる一方じゃないかな。
httpdの受け口が増えまくるのはサーバ負荷管理的にもおいしくない。
それが問題にならない程度のアクセス数/サーバ数の予算が取れるなら
負荷の点は問題にしなくてもいい場合もあるが。
0595nobodyさん
2007/08/26(日) 12:30:21ID:???動的にDOMいじってサーバと通信した場合と同じ画面にするなら
まあありとも思うが
そこまで手間をかけるならもういいわってなるな。
0597nobodyさん
2007/08/26(日) 13:20:43ID:???お前言っていることが極端だぞ。
動的にDOMいじってきれいな画面を作る手間をかけるのなら
もういいやと思うんだろ?
そこで普通はもういいやってことでJavaScriptのalertを出すだろ。
1.DOMいじる
2.JavaScriptのalert(コードを別に書く必要は無い)
3.なにもしない
1番がいやだからっていきなり3番の案に飛ぶなよw
それに、俺ならalert(msg)の代わりにdocument.getElementById("msg") = msg;に
置き換えるだけだが? これがそんなに手間がかかることかよw
0598nobodyさん
2007/08/26(日) 13:23:47ID:???> ajaxで転送量減らすこともできるよ
転送を伴わないAjaxってJavaScriptと同じことだろw
> 別にリアルタイム性だけがajaxの利点でもない
操作性向上に必要なのはリアルタイム性です。
いまはリアルタイム性の高さが(通信をしない)
JavaScriptのエラーチェックの利点だねって話をしているのです。
0599nobodyさん
2007/08/26(日) 13:58:16ID:???| `*。
,。∩ * もうどうにでもな〜れ
+ (´・ω・`) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
0600nobodyさん
2007/08/26(日) 14:12:18ID:???別に俺は使わないが「利点がわからない」とか言ってる奴は本当に脳が爛れてるとしか思えんw
0601nobodyさん
2007/08/26(日) 14:38:46ID:???FWにQFを乗っけて使う煩瑣さの指摘があって、
それを打ち消すだけのメリットとしてjsエラーチェックの自動生成なるもの
が持ち上げられてるから、突っ込みが入ってるだけだろ。
0602nobodyさん
2007/08/26(日) 14:57:50ID:???そういう人に対して言ってるんですがw
0603nobodyさん
2007/08/26(日) 14:59:19ID:???>>600と>>602は気にしないで楽しいお話を続けておくれ
0604nobodyさん
2007/08/26(日) 15:08:20ID:???0605nobodyさん
2007/08/26(日) 17:29:57ID:???ちょっと誤解があるようだ。
おれが>>556で書いたのは
「打ち消すだけのメリットがjsエラーチェックにある」ではなく
「打ち消すほどのメリットではないが今のFWにも実装してほしい機能としてjsエラーチェックなどがある」なので
jsエラーチェックがなきゃヤダヤダ!と言ってるわけじゃない。
で「jsエラーチェックなんてそもそも不要じゃん」という意見が出てきたのだが
まぁそういう仕事もあるかもしれないけど、あれば便利だとおれは思うし、必要になる案件もある。
AJAX云々は完全に話がすれ違ってると思うが。
0606nobodyさん
2007/08/26(日) 18:07:32ID:???QFの利点はPHPでコードを書くだけでJavaScriptの
エラーチェックに変換してくれる。つまりエラーチェックコードを二度書かなくていいことにあるわけだが、
そのためにはaddRuleメソッドでrequiredを設定するというコードを書く必要がある。
そう、PHPのエラーチェックコードではなく、
フォームに、requiredなどの属性を設定するわけだ。
だから複雑なエラーチェックがやりにくい。
そこでだ、PHPコードそのものでエラーチェックできたら良いとは思わないか?
たとえば、if ( $value == "") {return false;} こういう感じだ。
しかしこのコードをよく見てほしい。なんとそのままでJavaScriptコードとしても通用してしまうのだ!
これを応用すれば、一つのコードでPHPでもJavaScriptでも通用するコードを作れるではないか。
つまり書くのは一度ですむんだ! ちなみに互換性が無い部分は関数を使用することで対処できる。
0607nobodyさん
2007/08/26(日) 21:58:18ID:???画面を書き換えずにxmlなりjsonなりのデータだけをやりとりすることで
転送量を減らすことができる
それもまたajax。
まあJSチェックをサーバプログラムと別に書くのは基本的にダサい方法だが
十分に抽象化して自動生成するならクリーンにもなりうるな。
書くのは面倒くさそうだが。
0608nobodyさん
2007/08/26(日) 22:32:58ID:???> 転送量を減らすことができる
あふぉか?w
0609nobodyさん
2007/08/26(日) 23:08:32ID:???もういいからどっかへ行けよ。スレ違いすぎる
0610nobodyさん
2007/08/26(日) 23:10:51ID:???xmlやjsonってサーバーと通信するだろ普通。
そりゃサーバーと通信しないで使えないことも無いだろうけどさ、
何のためにxmlやjsonに変換するのかって話。
JavaScriptのオブジェクトそのままでいいじゃんか。
0611nobodyさん
2007/08/26(日) 23:23:21ID:???0613nobodyさん
2007/08/26(日) 23:25:08ID:???0614nobodyさん
2007/08/26(日) 23:25:37ID:???0615nobodyさん
2007/08/26(日) 23:28:32ID:???0616nobodyさん
2007/08/26(日) 23:30:45ID:???でも意味はよくわかっていません。なにが間違っているというのですか?」な
素人が混じっているんだから無理ないなw
0617nobodyさん
2007/08/27(月) 00:07:28ID:???0619nobodyさん
2007/08/27(月) 00:34:50ID:???0620nobodyさん
2007/08/27(月) 01:26:01ID:???0621nobodyさん
2007/08/27(月) 02:19:50ID:???QF使ったソースって見辛くね?
0622nobodyさん
2007/08/27(月) 02:37:39ID:???いやだから転送量を「減らす」って言ってるじゃん…
サーバサイドのvalidateもするんだよ、もちろん。
二人くらいのど素人が何を撃っているかも分からず銃乱射してる感じだな。
0623nobodyさん
2007/08/27(月) 02:49:11ID:???転送量が同じでも、PHPを1回呼ぶのと10回呼ぶのでは、
サーバーの負荷(主にCPU)が異なる。
ajax利用では、転送量よりも通信回数が意識されるところ。
0625nobodyさん
2007/08/27(月) 03:11:56ID:???0626nobodyさん
2007/08/27(月) 03:49:30ID:???ノ ヽ /⌒)
/⌒) (゚) (゚) |/ / はい
/ / ( _●_) ミ/ オッパッピー
.( ヽ |∪| /
\ ヽノ /
___ / /
(_____ /
\ \
) )
( \
\_)
0627nobodyさん
2007/08/27(月) 06:53:24ID:???クラス名の命名規則からファイルの位置が決まるようにするのと
チンポニーのように事前にサーチして
クラスファイル位置のインデックスを作っておくの
どっちがベター?
0628nobodyさん
2007/08/27(月) 09:01:18ID:???通信回数を減らしたところで、
サーバーにアクセスしたら
サーバーにアクセスしないよりも、
レスポンスは落ちるんだよ。
そのレスポンスの速さが重要だというのに。
0629nobodyさん
2007/08/27(月) 10:26:17ID:???0630nobodyさん
2007/08/27(月) 11:13:56ID:???0631nobodyさん
2007/08/27(月) 11:18:52ID:???ノ ヽ /⌒)
/⌒) (゚) (゚) |/ / はい
/ / ( _●_) ミ/ PHP
.( ヽ |∪| /
\ ヽノ /
___ / /
(_____ /
\ \
) )
( \
\_)
0632nobodyさん
2007/08/27(月) 22:54:54ID:???少なくとも
>>598
> >>596
> > ajaxで転送量減らすこともできるよ
> 転送を伴わないAjaxってJavaScriptと同じことだろw
こいつは馬鹿な素人だと言うことはわかった
0633nobodyさん
2007/08/27(月) 22:59:33ID:???>>623
> 通信回数と転送量を一緒にして、区別できていないようだな。
> 転送量が同じでも、PHPを1回呼ぶのと10回呼ぶのでは、
> サーバーの負荷(主にCPU)が異なる。
> ajax利用では、転送量よりも通信回数が意識されるところ。
多分自分の中のAJAXの利用方法しか思いつかないからこういう発言になっちゃうん
だろうけど
0634nobodyさん
2007/08/27(月) 23:49:43ID:???JavaScriptの一種に過ぎないんだよ。 よく覚えとけ。
0635nobodyさん
2007/08/27(月) 23:56:37ID:???ずっと当たり前のことを言うという新手の釣りだな
0636nobodyさん
2007/08/27(月) 23:59:39ID:???もう2chのレベルは初心者おしえて掲示板と変わらんがな。
それでいて口は悪いんだから最悪というか・・・。
0637nobodyさん
2007/08/28(火) 00:01:45ID:???JSでチェックするメリットはあんまりないよな
ajaxでやるならともかく
こいつもあふぉだな。
AJAXで使われている言語はJavaScriptのだってーの。
0638nobodyさん
2007/08/28(火) 00:03:55ID:???混沌としすぎ
0639nobodyさん
2007/08/28(火) 00:10:42ID:???ajaxならかっこいい画面になる?
否 ajaxだからといってかっこよくなるわけでもないし、
javascriptでもかっこよく作れる。
ajaxならダサい標準のダイアログボックスがでない?
否 ajaxでも基本は標準のダイアログボックスだし
javascriptでも標準のダイアログボックス以外を使える。
たぶん、チェックをクライアントコードじゃなくて、
サーバーに問い合わせてやるといいたいんだろうけどさ、
そんなことしたら、サーバーと通信する分遅くなるじゃん?
0640nobodyさん
2007/08/28(火) 00:14:15ID:???メアドが登録済みかどうかとか。
0641nobodyさん
2007/08/28(火) 00:23:08ID:???1)クライアントサイドのみのJavaScriptチェック
入力不足や間違いを即座に指摘できる。
2)Ajaxでサーバサイドをも巻き込んだチェック
1.の発展版。サーバサイドでしかチェックできないような項目を即座に指摘できる。
3)サーバサイドチェック
最終チェック。これは必須。
1や2は利用者の操作性をうpする。うまく作りこめば確認画面は要らないかも。
0642nobodyさん
2007/08/28(火) 00:29:17ID:???0643nobodyさん
2007/08/28(火) 00:33:01ID:???両方でチェックするに決まってるじゃん。
QFはサーバー側で書くだけで、自動的にJavaScriptコードを生成してくれる。
0644nobodyさん
2007/08/28(火) 00:52:05ID:???0645nobodyさん
2007/08/28(火) 00:56:19ID:???スレ違いだつーのに。
0646nobodyさん
2007/08/28(火) 00:58:15ID:???0647nobodyさん
2007/08/28(火) 00:59:25ID:???QFもフレームワークと言えばフレームワークだよね。
フォーム処理に特化した。
0648nobodyさん
2007/08/30(木) 17:06:50ID:???誰か両方使ってみた。な人いる?
0649nobodyさん
2007/08/31(金) 01:27:24ID:???何をどう比べる?
構成そのものは結構派手に違うと思うから、何について知りたいかによるんじゃない?
概念的な比較なのかな?
0650nobodyさん
2007/09/01(土) 04:07:45ID:???0651nobodyさん
2007/09/01(土) 04:22:30ID:???0652nobodyさん
2007/09/01(土) 05:18:08ID:???インターフェイス間でやりとりするんだから少し混じり合うよ
0654nobodyさん
2007/09/02(日) 21:26:47ID:???■ このスレッドは過去ログ倉庫に格納されています