- 1 名前:nobodyさん mailto:sage [2008/02/09(土) 10:43:58 ID:???]
- 前スレ
pc11.2ch.net/test/read.cgi/php/1197383840/
- 488 名前:nobodyさん mailto:sage [2008/05/10(土) 10:26:41 ID:???]
- >>485
> デザインにもロジックはあるのだよ。 そうだね。でどうしろと? どうせデザインにロジックがあるのだから、 各自勝手に作れといわんだろ? あんた極端なんだよ。完璧じゃなければ必要ないとか考えてるだろ。 もう少しバランス感覚養ったほうがいいんじゃないのか? 1か0じゃなくて、どちらのほうが優れているかで話をしろ。
- 489 名前:nobodyさん mailto:sage [2008/05/10(土) 11:47:06 ID:???]
- JavaのApache Wicketというフレームワークは
テンプレートにHTMLを使う。 JSPみたいな独自タグや{hoge}みたいな独自識別子を使わない。 現状のWicketが完璧とは言わないけど(メジャーとは言い難いし)、 その方向性はいいなと思える。 ViewはHTMLのテンプレートを使って ロジックはどの言語でもいい、みたいなもの(Viewテンプレートとロジックのブリッジみたいなもの?)ができれば 言語やフレームワークごとにViewの独自タグや独自識別子を使い分けなくてよくなると思うんだけどな。
- 490 名前:nobodyさん mailto:sage [2008/05/10(土) 12:08:18 ID:???]
- 即席で作るだけなら生書きの方が速いことも多いが
保守を考えるとフレームワーク使わないときついだろ
- 491 名前:nobodyさん mailto:sage [2008/05/10(土) 22:09:04 ID:???]
- >>485
> ORMはおかしいよな。テーブルとモデルが一対一になってる。 おかしい理由は? DAOとしての面ではあるテーブルに対する操作が一つのクラスに集約されるから見通しが良くなるが。
- 492 名前:nobodyさん mailto:sage [2008/05/10(土) 22:28:21 ID:???]
- SQLって単体のテーブルごとにアクセスするものではないからだと思う。
パフォーマンスを考慮したSQLとの相性は悪いんじゃなかろうか。
- 493 名前:nobodyさん mailto:sage [2008/05/10(土) 23:26:26 ID:???]
- >>492
結合する処理をモデルに実装するから、そうでもないよ。 例えばユーザを結合したコメント一覧を取得するアクセスロジックをコメントモデルに持たせるとか。 ORMがアソシエーション機能を提供してたりもするし(あまり好きではないけど)。 Someモデルはsomeテーブル以外を知ってはならないということはないと思う。特にActiveRecordでは。
- 494 名前:nobodyさん mailto:sage [2008/05/11(日) 00:27:11 ID:???]
- runkitでaopみたいなことしたかったけど
セッションハンドラに登録したメソッド書き換えたら segmantation fault出るようになった やっぱまだ不安定なんだな・・・面白い拡張なんだが
- 495 名前:nobodyさん mailto:sage [2008/05/11(日) 00:39:19 ID:???]
- 俺485。おまいらレスありがとう。
でも書いてもらった日本語がよくわからない。 俺もいいかげんな発言してたので、真面目に書き直しておく。 >>486 お前は本当にsfSmartyViewPluginを使ったのか? sfSmartyViewPluginを使わないでsymfonyで開発した事があるか? sfSmartyViewPluginがビューとロジックの分離における有効策と考えてるなら、 それはあまりにもロジックを排除する事に対して神経質になりすぎだと思う。 symfonyは標準ではPHPの構文をテンプレートファイルに記述する。 確かにこの書き方だとHTML内にロジックが書けてしまうので束縛が無い事が嫌かも知れないが、 ビューにはビューを成立させるためのロジックがあっても良いと俺は考える。
- 496 名前:nobodyさん mailto:sage [2008/05/11(日) 00:43:17 ID:???]
- 俺は485なんだけど441でもある。
>>485の後半に書いた事は>>484に言ったというより、過去のレスへの返答だった。 >>442 前者です。 >>443-444 自明だよな。その書き込みを見てほっとしたぜ。 ってことだった。
- 497 名前:nobodyさん mailto:sage [2008/05/11(日) 00:50:47 ID:???]
- つーか休まないと日本語処理能力が低下しまくっていかんな。
>>488 sfSmartyViewPluginよりもsymfony標準のテンプレート書式の方が優れている。 というか、sfSmartyViewPluginは完璧に使い物にならないと心底思う。 sfSmartyViewPluginは足かせにこそなれ、利便性は何も齎してくれない。 反論はあるだろうけど、ビューに制約を課す事とMVCを考慮する事は全く別だと思う。 >>491 結合とはある単一のテーブルが行う処理ではないから。
- 498 名前:nobodyさん mailto:sage [2008/05/11(日) 01:04:31 ID:???]
- 一対一でマッピングされてるからって
そのテーブルに対して「のみ」のモデルじゃない
- 499 名前:nobodyさん mailto:sage [2008/05/11(日) 03:58:08 ID:???]
- いまだにsmartyとか言ってる意味がわからん
検討にすら値しないだろ
- 500 名前:nobodyさん mailto:sage [2008/05/11(日) 04:09:26 ID:???]
- 結局viewヘルパってどれがいいんだろうな?
・関数 ・クラスメソッド ・$this(viewクラスあるいはcontrollerクラスのインスタンス)のメソッド ・$this以外の、view空間にassignされたオブジェクトのメソッド 個人的には最後のものに可能性を感じるが・・・ 状態を持ちやすい、動的に変化させやすいという意味で。 複数のクラスのメソッドを集めるmixin的な機能が要りそう。 そこがキレイにできれば・・
- 501 名前:484 mailto:sage [2008/05/11(日) 05:00:31 ID:???]
- >>495
>>お前は本当にsfSmartyViewPluginを使ったのか? >>sfSmartyViewPluginを使わないでsymfonyで開発した事があるか? 当たり前 >>それはあまりにもロジックを排除する事に対して神経質になりすぎだと思う。 おまい日曜プログラマ?プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの? デザイン変更したい〜なんてお客さんから要望あったらデザイナーにテンプレート渡すだろ? テンプレート側にロジックかかれたら・・・・・後はわかるよな。 使わなくていいんだったら漏れもつかわねーよ。プラグイン入れるのマンドクセ
- 502 名前:nobodyさん mailto:sage [2008/05/11(日) 08:41:33 ID:???]
- >>484
>symfony+smarty使ったことあるかい? smartyで「デザインとロジックの分離」が実現できるとでも思ってるの? バカ? >>485 > デザインにもロジックはあるのだよ。 そのとーり。WicketやMayaaやTapestryでは確かに「デザインとロジックの分離」ができるけど、smartyなんかじゃ全然できない。 >>488 > そうだね。でどうしろと? おまえはなにもするな。smartyごときで「デザインとロジックの分離」とか偉そうに語るな。 > あんた極端なんだよ。完璧じゃなければ必要ないとか考えてるだろ。 完璧にほど遠いものをさも完璧なように語るおまえがバカなだけ。 PHPにはWicketもMayaaもないんだから、デザインの分離なんか考えるだけ無駄。 > もう少しバランス感覚養ったほうがいいんじゃないのか? > 1か0じゃなくて、どちらのほうが優れているかで話をしろ。 他人の言葉をうのみにしているおまえこそ、もっと現実をみたほうがいい。 実現できてもないことに、1も0もないだろ。バッカじゃない?
- 503 名前:nobodyさん mailto:sage [2008/05/11(日) 08:51:20 ID:???]
- >>498
そういう解釈をいれないといけないあたり、相性が悪いんじゃないかと。 出来ないって話はしてないつもり。 そもそもモデリングってのは本質的ではないものを隠蔽したり相殺したりして 扱いやすくするものだと理解してるんだが、パフォーマンス的なことを考えると SQLはそれ自体が本質的で、隠蔽されるべき対象ではないと思う。 機能的なことだけ考えれば良いのなら、SQLを隠蔽するのは正しいだろうけど、 それは贅沢だなぁって思う。
- 504 名前:nobodyさん mailto:sage [2008/05/11(日) 09:50:03 ID:???]
- モデリングの時点でオブジェクト間の関連は定義されるんだから相性が悪いということはないと思うけどな。
設計(仕様)上、記事テーブルがユーザテーブルに依存するなら、記事モデルがユーザモデル(テーブル)を知っていていいし、依存してもいい。 ただ、今までORMレイヤをリリースしてきた人達が「SQLを書かなくていいよ!楽チンだよ!」ってところを押しすぎたのは良くない。 複雑なフェッチが必要な場合はSQLを発行して結果を返すメソッドをモデルに持たせればいいのに、 「(極端に言えば)SQLを書いちゃいけない」という固定観念のもと、SQL以上に複雑な手続きによるフェッチだったり、 複数回SQLが発行されることを厭わない実装がある。 バランスとれればいいんじゃないかな。多くの部分ではSQL書かずに楽するし、SQLが必要なら(モデル内に)SQLを書く。 SQL書いたらORMが謳う「簡単なデータベースの切り替え」ができなくなるって? 大丈夫。開発中にデータベースが変更になることはまずないし、「ついで」程度の機能でしかない。
- 505 名前:nobodyさん mailto:sage [2008/05/11(日) 13:40:27 ID:???]
- オープンソースのフレームワーク開発ってどういうビジネスモデルなんだろ?
symfonyとかciは企業が作ってるけど どこで利益あげてるのかな? 知名度を上げて受注を増やす形?
- 506 名前:nobodyさん mailto:sage [2008/05/11(日) 14:20:23 ID:???]
- ひょっとしてそれはギャグで(ry
- 507 名前:nobodyさん mailto:sage [2008/05/11(日) 14:24:05 ID:???]
- いやギャグじゃないよ
どこからか金が環流しないと時間と労力投入できないじゃん
- 508 名前:nobodyさん mailto:sage [2008/05/11(日) 14:44:30 ID:???]
- >>502
お前の言うデザインとロジックの分離っていうものはいったいどれぐらいのレベルを言ってるんだ それにしてもヒステリックなやつだな もうちょっと落ち着けよ お前みたいな趣味でやっているやつにはMVCはいらないと思うけど現場では実際に必要とされてるんだよ
- 509 名前:nobodyさん mailto:sage [2008/05/11(日) 14:49:35 ID:???]
- デザインとロジックの無意味な議論うぜぇ
- 510 名前:nobodyさん mailto:sage [2008/05/11(日) 15:03:35 ID:???]
- >>508
>>502じゃないが、デザインとロジックの分離のレベルは WicketやMayaaレベルを言ってるんだろう。 俺も分離するならそのレベルが妥当だと思う。 逆にそのレベルで分離できないなら、 開発者には必要とされてもデザイナには使いにくいことに変わりないと思う。
- 511 名前:nobodyさん mailto:sage [2008/05/11(日) 15:25:06 ID:???]
- >>510
んなこたーない。ロジックが書かれたphpファイルより全然いいだろ。 .htmlファイルを直接テンプレートとして使えるし部分的にロジックが入るようであればそこはプログラマが修正してあげればいい。 そもそも一番のメリットは上に書いたがテンプレートにロジック書くようなウンコ野郎を排除するところだし。
- 512 名前:nobodyさん mailto:sage [2008/05/11(日) 15:54:25 ID:???]
- >>511
>んなこたーない。ロジックが書かれたphpファイルより全然いいだろ。 >.htmlファイルを直接テンプレートとして使えるし部分的にロジックが入るようであればそこはプログラマが修正してあげればいい。 すまんが主語は何だ。smartyが、か? WicketやMayaaはテンプレートがHTMLなので(独自タグや{if}等が無い)、 HTMLしかしらないデザイナも扱いやすいし、 HTML編集ソフトでテンプレートを読み込んで修正しやすいのがメリットなんだが、 そんなメリットは必要ないってことか?
- 513 名前:nobodyさん mailto:sage [2008/05/11(日) 15:55:42 ID:???]
- RDB使ってる時点でSQL便利は自明
SQLイヤならOODB使うしかない
- 514 名前:nobodyさん mailto:sage [2008/05/11(日) 16:05:35 ID:???]
- Javaのテンプレートには、PHPのSmartyよりも優れたものがあるんですね。
参考になります。 ついでにPHPにも移植してください。 Wicket www.wicket-ja.org/ Mayaa mayaa.seasar.org/
- 515 名前:nobodyさん mailto:sage [2008/05/11(日) 16:19:02 ID:???]
- >>513
そう、SQLってかなり完成度高いんだよね。 SQLで拾った値でインスタンス作っても作らなくてもいいんだけど、 拾うためにインスタンス作るのに何のメリットがあるのか。 SQLをラップするのって、正規表現が分からない人向けに正規表現エンジンをラップして 簡単なテキスト検索エンジンを作ってるような気持ち悪さを感じる。で、正規表現をつかう 抜け道も用意してありますみたいな。
- 516 名前:nobodyさん [2008/05/11(日) 17:42:48 ID:tIr1XyIc]
- >>512
先生、WicketやMayaaをsymfonyと連携させる方法を教えてください>< smarty使わないので教えてください><
- 517 名前:nobodyさん mailto:sage [2008/05/11(日) 17:43:09 ID:???]
- sage忘れちゃったよ
ごめんね
- 518 名前:nobodyさん mailto:sage [2008/05/11(日) 17:49:27 ID:???]
- SMTPのプロトコルが分からない人向けにその部分をラップして
簡単にメールを送信するmail()関数がある。で、プロトコルしゃべる 抜け道も用意してある。 SQLラップするのも正規表現ラップするのも同じ。ライブラリとはそういうもの。
- 519 名前:nobodyさん mailto:sage [2008/05/11(日) 17:52:41 ID:???]
- SMTPはプロトコルとしての完成度高く無いじゃん。ただの規格。
- 520 名前:nobodyさん mailto:sage [2008/05/11(日) 17:58:59 ID:???]
- >>519
ん?完成度が高いものはラップする必要なく、低いものはラップして当たり前ということ?
- 521 名前:nobodyさん mailto:sage [2008/05/11(日) 18:49:51 ID:???]
- ラップの必要性の比較で言えばいうまでもなくそうだろ
- 522 名前:nobodyさん mailto:sage [2008/05/11(日) 19:01:31 ID:???]
- まぁ抜け道が前提のラッパーを見て、何も感じないなら、それはそれで才能だと思う。
PG/SIerとしては、そっちのほうが幸せかもしれん。
- 523 名前:nobodyさん mailto:sage [2008/05/11(日) 19:19:10 ID:???]
- >>521
で、その完成度の高い低い、ラップすべきしないべきは誰が決めんの? 結局自分の趣味趣向で言ってるだけなんだよなぁ。
- 524 名前:nobodyさん mailto:sage [2008/05/11(日) 21:01:26 ID:???]
- >>501
> プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの? クビにするべきだろう。 > デザイン変更したい〜なんてお客さんから要望あったらデザイナーにテンプレート渡すだろ? テンプレートを渡すという事は、責任を渡すという事と同義だよ。 > 使わなくていいんだったら漏れもつかわねーよ。プラグイン入れるのマンドクセ こう言ってるって事は、理不尽さを感じながら妥協をしていて、それを愚痴ってるんだと思うんだが、 たぶんプログラムに制限を課すより、体制を考えなおしたほうがいいと思うぞ。 たとえば、ウンコ書くプログラマが居る可能性がある時に、 そのプログラマが極力コードを書けないように制限する事は困難だと思う。 制限を課す事に手間を割くくらいなら、生産性のある作業に注力した方が良いんでないかい。
- 525 名前:nobodyさん mailto:sage [2008/05/11(日) 22:06:59 ID:???]
- >>524
なんかもう精神論じゃん。 フレームワークを改良するって発想がそんなに嫌かね。
- 526 名前:nobodyさん mailto:sage [2008/05/11(日) 22:15:43 ID:???]
- >>524
本当にプログラマ? すぐクビにするとかテンプレート渡す=責任を渡すとか 到底社会人の発想とは思えないんだが。 サンデープログラマや、開発者とデザイナが分かれてない業務しかやったことないのを否定はしないが、 分業化されてるプロジェクトの場合も想像できないと、この話を進めるのは無理だと思う。
- 527 名前:nobodyさん mailto:sage [2008/05/11(日) 22:19:14 ID:???]
- RubyでもWicketの仕組みを実装する動きがあるみたいだな…
- 528 名前:nobodyさん mailto:sage [2008/05/12(月) 00:11:47 ID:???]
- SQLが便利ってマンセーしてる人って、文字列およびプログラム内のデータ管理に
自信のある人なんだなーって素直に感心してる俺w とりあえず、外部からの入力値を元にしたSQLの動的な組み立てを自分でする気には あんまりならないんだが、モデルってそういう所の面倒をみるってことはそんなに重視 されてないの? まあ「MVCのモデル」ってレベルではなく、DBIインターフェイスレベルの話ではあるん だけどw
- 529 名前:nobodyさん mailto:sage [2008/05/12(月) 00:52:56 ID:???]
- SQLを一切書かずORMだけでRDB使えてますか?
SQLより速くてインピーダンスミスマッチのないORMがあったら教えて!>< 分類 / 基礎となる計算モデル / 例 1. 手続型言語 / チューリングマシン / C, Java 2. 問合せ言語 / 関係モデル / SQL 3. 関数型言語 / ラムダ計算 / Lisp, Haskell 4. 論理型言語 / 一階述語言語 / Prolog (2〜4は、非手続型言語) ↑1〜4のどれでも使えるようにしておいた方がいいよ =RDBを使ってる人はSQLも必須スキル つwww.amazon.co.jp/dp/4798115169/
- 530 名前:nobodyさん mailto:sage [2008/05/12(月) 01:12:44 ID:???]
- うーんなんだろ。全然違う部分で話しちゃってるのは自覚してる
「SQL」って言っちゃうと、結局最終的に「文字列」に落とし込まなきゃいけないのが 違和感があるのかも メソッドの引数とかオブジェクトのプロパティとかなら抵抗ないのに・・・ PerlやRubyで /\A"[^"]+"\z/ みたいなリテラルで書くことの出来る正規表現を、 文字列として "/\\A\"[^\"]\"\\z$/" って書かなきゃいけない歯がゆさみたいなw だから、変数的な部分をプレースホルダにしたprepare(), execute() インターフェイスが あれば、それで良いのか。それなら、変数的な部分以外はけっこうソリッドに組み立て られる、と考えて・・・でも、やっぱりパラメータの数が変わったらプレースホルダの数も 変わるし・・・ いかに簡単にSQLを組み立てるかっていうツールとしてのモデルの効能が、あんまり 問題になっていないから書いてみたっていうだけ。低レベルだとは思うけど
- 531 名前:nobodyさん mailto:sage [2008/05/12(月) 01:35:11 ID:???]
- いいだろ文字列で。どうせ大したもん作ってねぇくせにぐだぐだ言うな
- 532 名前:nobodyさん mailto:sage [2008/05/12(月) 02:19:06 ID:???]
- ORマッパーが流行った理由は2つあると思う。
1つはJOINを駆使したりサブクエリーを使うような、(比較的)高度なSQLを書ける人が少なかった。(複雑な処理はホスト言語で処理する。) もう1つはORマッパー=オブジェクト指向を連想させ、オブジェクト指向って言葉だけをやたらもてはやすような風潮に乗っかった。
- 533 名前:nobodyさん mailto:sage [2008/05/12(月) 03:49:51 ID:???]
- O/Rマッパーで書けるような簡単な処理は
SQLで書いてもすぐ書ける罠
- 534 名前:nobodyさん mailto:sage [2008/05/12(月) 03:51:14 ID:???]
- 結局、O/Rマッパーは、SQLに慣れてる人なら
あまり意味ないってことでいい?
- 535 名前:nobodyさん mailto:sage [2008/05/12(月) 03:56:57 ID:???]
- なんだかんだ言って、Java的な発想なんだろ?> ORマッパ
ActiveRecordとかはシンプルでいいと思うけど、やりすぎ感っての?あるんじゃね? APIが全てで、文字列としてのSQLを流し込むっていう感覚があんまり無いって感じで。 (C#とかの.net系でもO/Rマッパって使うのならごめん) でも、PHPになじむかどうかは別問題なんだろうとは思う
- 536 名前:nobodyさん mailto:sage [2008/05/12(月) 04:10:33 ID:???]
- DBとベタベタにしないためにラッパー書くのは無駄じゃないと思うけどね
- 537 名前:nobodyさん mailto:sage [2008/05/12(月) 06:31:54 ID:???]
- >>532
私見だけど、メモリ中のオブジェクトをそのまま永続化させて使用するための 手段として RDBへの格納するのが良いのではないかっていう考え方があって、 でも現実には永続化よりもデータベース的な検索のほうが重要なことがはっきりして、 結局ラッパーとしてだけ生き残ったって感じではないかと思う。 まぁ、そうした抜け殻のようなツールとし出来上がった後、現場では >>532みたいなな 流れで流行ったんじゃないかと。
- 538 名前:nobodyさん mailto:sage [2008/05/12(月) 07:26:54 ID:???]
- >>528
>とりあえず、外部からの入力値を元にしたSQLの動的な組み立てを自分でする気には >あんまりならないんだが、モデルってそういう所の面倒をみるってことはそんなに重視 >されてないの? 思うに、「フレームワークのパワーを生かした」開発においては、そういう小難しいことは、 基本的にやらない、もしくは極力避けるんじゃないかね。 フレームワークが力を発揮するのは、単機能な画面が多数あるようなシステムだと思う。 そうした前提においては、動的なSQLを嫌ったとしても、それは普通な判断だと思うし。
- 539 名前:nobodyさん mailto:sage [2008/05/12(月) 23:55:26 ID:???]
- PHPTALというのがあってだな。
tracfort.jp/projects/symfony-phptal
- 540 名前:524 mailto:sage [2008/05/13(火) 02:06:31 ID:???]
- >>525
いや、sfSmartyViewPluginは間違いなくsymfonyにとって改悪だと思うわ。 >>526 権限と責任が乖離している時点で、体制を考え直すべきだよ。 仮に、よほど信用出来なくて悪意があってとても偉いデザイナーと仕事をしてるとしても、 MVCやORMという概念や、symfonyやsmartyという実装は、 プログラマーとデザイナーの「責任の所在」を明らかにするための方法論では無いと思う。 >>528 俺はORMには否定的だけど、SQLを抽象化する事には肯定的。
- 541 名前:nobodyさん mailto:sage [2008/05/13(火) 02:11:29 ID:???]
- 自分がsmarty使うかと言えば使わないが
因習的に使い続けてるところもあるだろ そういうところのために出来ただけじゃねーの>smartyplugin いちいち目くじら立てるようなものでもない思うが
- 542 名前:524 mailto:sage [2008/05/13(火) 02:23:12 ID:???]
- >>541
うん。>>484が偉そうにsymfony+smartyが完璧だと言ってたので、 そりゃねーよ、って反論してるだけだ。 よく考えればスレ違いな主張に相手してる気がするので、smartyに構うのは以後控えるわ。
- 543 名前:nobodyさん mailto:sage [2008/05/13(火) 08:44:20 ID:???]
- >>524
>> プロジェクト内にテンプレート側にがちごりでロジック書くウンコいたらどうすんの? > >クビにするべきだろう。 大賛成。お金をもらう仕事に、なんでウンコな人間を混ぜなきゃいけないの? >たぶんプログラムに制限を課すより、体制を考えなおしたほうがいいと思うぞ。 そうそう。それができない環境はプロとして仕事すべきじゃない。 >>526 > 本当にプログラマ? > すぐクビにするとかテンプレート渡す=責任を渡すとか > 到底社会人の発想とは思えないんだが。 なんで? 使えない人間は教育し、それでも使えなければクビでいいじゃん。あんたどこの公務員よ? > サンデープログラマや、開発者とデザイナが分かれてない業務しかやったことないのを否定はしないが、 > 分業化されてるプロジェクトの場合も想像できないと、この話を進めるのは無理だと思う。 分業することと、ウンコを混ぜる話は別だろ。それをいっしょくたにしているおまえがウンコ。
- 544 名前:nobodyさん mailto:sage [2008/05/13(火) 10:54:49 ID:???]
- ORマッパーが流行った理由は3つあると思う。
1つはJOINを駆使したりサブクエリーを使うようなSQLから生成されるデータを扱うにはハッシュの配列では使いにくかった。 SQLには方言があり簡単な文でさえダブルクォーテーションとクォーテーションの意味が違うなど複数のDBMSに対応しづらかった。 もう1つはORマッパー=オブジェクト指向であり、ただのデータの出し入れに過ぎないSQLに様々な付加価値をつけることが出来た (たとえばバリエーションなど)
- 545 名前:nobodyさん mailto:sage [2008/05/13(火) 11:43:53 ID:???]
- >>543
厨房乙。
- 546 名前:524 mailto:sage [2008/05/13(火) 13:10:19 ID:???]
- >>545
あまり恥ずかしい書き込みをするなよ。 >>544 それは全部PDOの利点でもあると思う。 PDO != ORMなので、ORMの利点だとは言えないと思う。 CreoleとPropelの違いを理解した上で、 Propelの機能として好ましいと感じる部分は、 propel-generate-modelとBasePeerのクエリ生成部分かな。 BasePeerははっきり言って複雑なSQLは全く書けないけど、 でもまあ、そのあたりの機能だけ流行れば良かったのに、と思うよ。
- 547 名前:nobodyさん mailto:sage [2008/05/13(火) 15:35:20 ID:???]
- さくさく人材切る大量と度量があるのはいいことだが
首にできる権限がある奴に限って現場見てねえんだよなぁ
- 548 名前:nobodyさん mailto:sage [2008/05/13(火) 16:32:21 ID:???]
- 俺俺form処理クラス書いてるが
フォーム要素が多次元配列になる時のバリデーションが きれいに書けないよう・・・ 値はコンポジットパターンになるのに errorはchildだけじゃなくて親も持つとか複雑過ぎ
- 549 名前:nobodyさん mailto:sage [2008/05/13(火) 19:27:51 ID:???]
- >>546
544はPDOの利点ではない。PDOはフェッチしたデータの加工をしないし、SQLの方言の抽象化もしない。
- 550 名前:nobodyさん mailto:sage [2008/05/13(火) 21:12:36 ID:???]
- SQLの結果セットは2次元の表にしかなり得ない。連想配列ですべて解決する。
- 551 名前:nobodyさん mailto:sage [2008/05/15(木) 02:42:52 ID:???]
- Rubyは引数が一つの時()を省略できるのに
PHPは省略できないんですかぁ? ださーい
- 552 名前:nobodyさん mailto:sage [2008/05/15(木) 17:59:00 ID:???]
- >>551
VBなら引数がいくつでも()を省略できるぞ! カッコイイだろ! ただし戻り値が無い場合ね
- 553 名前:nobodyさん mailto:sage [2008/05/15(木) 18:06:07 ID:???]
- Rubyでもできますよーだ
VBなんて中二みたいの名前の言語使いませんよぉ ださーい
- 554 名前:nobodyさん mailto:sage [2008/05/15(木) 18:06:50 ID:???]
- >>550
返ってくるデータが二次元の表だけって面倒だよね。 たとえばアドレス帳があったとして、電話番号を複数登録できるようにしたい。 まあ、普通は正規化する。んで、それを取得すると ID, 名前, 電話番号ID, 電話番号 1, 山田, 1, 090-0000-0000 1, 山田, 2, 090-0000-0001 1, 山田, 3, 090-0000-0002 2, 佐藤, 4, 090-0001-0000 2, 佐藤, 5, 090-0001-0001 2, 佐藤, 6, 090-0001-0002 こうなる。階層的に取得できたらどんなに使いやすいか。
- 555 名前:nobodyさん mailto:sage [2008/05/15(木) 18:07:41 ID:???]
- ()が省略できる言語は
ダサいって流れじゃないのか?w VBやRubyはダサい。
- 556 名前:nobodyさん mailto:sage [2008/05/15(木) 18:13:49 ID:???]
- できるかどうかならできた方が当然良い
関数と変数の区別をはっきりつけたいから使おうとは思わないけど
- 557 名前:nobodyさん mailto:sage [2008/05/15(木) 18:30:45 ID:???]
- きっちりルール決めて統一してくれたほうがいい、って意見もあると思うぜ
- 558 名前:nobodyさん mailto:sage [2008/05/15(木) 18:36:25 ID:???]
- その辺はコーディング規約でやるべきじゃないの?
いろんな人がいるだろうし
- 559 名前:nobodyさん mailto:sage [2008/05/15(木) 18:37:54 ID:???]
- >>554
PDO使えばできる
- 560 名前:nobodyさん mailto:sage [2008/05/15(木) 18:52:47 ID:???]
- あれは賛否両論だろ。
引数省略に付随する問題も一緒に抱えるのに 手放しで喜ぶ馬鹿は死んだほうがいい
- 561 名前:nobodyさん mailto:sage [2008/05/15(木) 21:30:45 ID:???]
- >>559
できねーよ
- 562 名前:nobodyさん mailto:sage [2008/05/15(木) 21:31:41 ID:???]
- >>561
できるーよ
- 563 名前:nobodyさん mailto:sage [2008/05/15(木) 23:37:08 ID:???]
- >>554
それがリレーショナルDBだから。 オブジェクトで扱いたいなら、ORMじゃなくって、OODBを使えばいいんだよ。誰も使ってないけど。 もっともその例って、単なる配列のデータ構造を表してるだけで、オブジェクトとは関係ないと思うけど。
- 564 名前:nobodyさん mailto:sage [2008/05/15(木) 23:50:37 ID:???]
- >>563
そりゃ、元のレスが > 連想配列ですべて解決する。 だからだろうね。 RDBの結果なら連想配列で全て表すことができるっていうだけの書き込みに対して、 それが便利なのか?っていうつっこみなんだろうと思った。 >>554が例に挙げてる様なデータなら、多次元の配列で処理する人も多いだろうし O/Rマッパとはまた違う次元の話の様な気もするw
- 565 名前:nobodyさん mailto:sage [2008/05/16(金) 00:41:02 ID:???]
- というか、そんな陳腐な工夫を語れるような小さくて整ったデータベースしか扱ってないんだな、おまえら。
- 566 名前:nobodyさん mailto:sage [2008/05/16(金) 00:51:22 ID:???]
- PHPですよ?しかも(主に配布されてる)フレームワークのスレ。
そんなに複雑でビジネスロジックとその他もろもろの制約によって アドホックばりばりのシステムの話なんてするところじゃないじゃ無いか
- 567 名前:nobodyさん mailto:sage [2008/05/16(金) 05:20:25 ID:???]
- PHPでビジネスロジックや「そのたもろもろ」の制約を必要とするよーな設計するか?
そういう制約が意味あるのって、DB専門班とぎっちぎちに分業するようなケースだしなあ。 null拒否くらいならデバッグの意味はあると思うけど PHPみたいな上層で使うモンなら正規形も凝らんでそ 制約意識するくらいなら処理ロジックや自前キャッシュ手法に凝った方が百倍マシ PHPが生かせるケースじゃない なんか元コメ辿ると、bindやprepare使えば十分だろ的な思惑も感じるけど
- 568 名前:nobodyさん mailto:sage [2008/05/16(金) 17:52:55 ID:???]
- 言語で設計が決まるわけじゃない
- 569 名前:nobodyさん mailto:sage [2008/05/16(金) 19:19:07 ID:???]
- むずかしいことばのかいせつ
アドホック - Wikipedia ja.wikipedia.org/wiki/%E3%82%A2%E3%83%89%E3%83%9B%E3%83%83%E3%82%AF アドホック(ad hoc)は、「特定の目的のための」「限定目的の」などといった意味のラテン語の語句である。 ヨーロッパ諸語では様々な語句と組み合わせて用いられている。 ad hoc quering アドホック・クエリ 情報科学分野の用語。 アドホック・クエリを使えば、カスタマイズされたクエリを簡単に作成することが可能になる。 通常、データベースの原理やSQL 文を深く理解していなくても、GUIを使って行うことができる環境が提供されている。 ただし、このような方式のクエリが多用されるとデータベース システム全体のパフォーマンスにも影響が出かねないため、直接に"生"のデータベースを対象とするのではなく、"生"のデータベースを定期的に複製したものを対象にクエリを作成する、というようなことも行われる。 そのような複製は「データウェアハウス」などと呼ばれることもある。
- 570 名前:nobodyさん mailto:sage [2008/05/16(金) 19:20:35 ID:???]
- アドホックとは - はてなダイアリー
d.hatena.ne.jp/keyword/%A5%A2%A5%C9%A5%DB%A5%C3%A5%AF アドホック あどほっく 【ad hoc(羅)】取ってつけたようであるさま。 この意味より,「恒久的でない」とか「反復的でない」ような形容に使われる
- 571 名前:nobodyさん mailto:sage [2008/05/16(金) 22:43:59 ID:???]
- >>562
どうやって?サンプルコード示して。
- 572 名前:nobodyさん mailto:sage [2008/05/16(金) 22:47:17 ID:???]
- マニュアル読めーよ
- 573 名前:nobodyさん mailto:sage [2008/05/16(金) 22:53:58 ID:???]
- ま、そーやって逃げるのは分かってたからいいけど
- 574 名前:nobodyさん mailto:sage [2008/05/16(金) 22:59:30 ID:???]
- 低脳おーつ
- 575 名前:nobodyさん mailto:sage [2008/05/16(金) 23:36:11 ID:???]
- お前、ほんと残念なやつだな
- 576 名前:nobodyさん mailto:sage [2008/05/17(土) 00:30:15 ID:???]
- しょーもない煽りあいwww
- 577 名前:nobodyさん mailto:sage [2008/05/17(土) 00:50:50 ID:???]
- 反応するおまえもだよw
- 578 名前:nobodyさん mailto:sage [2008/05/17(土) 03:55:36 ID:???]
- PEAR使う時ってラップしたクラス書く?
そのまま使う?
- 579 名前:nobodyさん mailto:sage [2008/05/17(土) 04:45:21 ID:???]
- 時と場合によーる
- 580 名前:nobodyさん mailto:sage [2008/05/17(土) 09:38:16 ID:???]
- PDOで階層構造表現できるの?まじ?
- 581 名前:nobodyさん mailto:sage [2008/05/17(土) 13:16:01 ID:???]
- マジ。ただし、O/Rマッパーが必要
O/Rマッパー最高!!! という流れですね。わかります。
- 582 名前:nobodyさん mailto:sage [2008/05/17(土) 13:43:24 ID:???]
- >>581
それはPDOだけでは不可能で、 PDO無くてもORMがあれば可能という話ではないのか。
- 583 名前:524 mailto:sage [2008/05/17(土) 19:36:50 ID:???]
- >>549
そうだね。 「ハッシュの配列では扱いにくい」と言ってるってことは、 PDOが連想配列で返すのを不便だと感じているという事だもんね。 俺は>>550と同意見だった。 オブジェクトが返ってくる事自体にまったく利点を感じないのだ。 データベースエンジンの差異を吸収するのはORMの副産物だと思うし、 それをやってくれるORMじゃないライブラリは好きなので、 やっぱり俺は世にあるORMにはあまり意義を感じていないのかも知れない。 バリエーションって何?
- 584 名前:nobodyさん mailto:sage [2008/05/17(土) 21:39:55 ID:???]
- >>583
そもそもオブジェクト指向に意義を感じてないんじゃない?
- 585 名前:nobodyさん mailto:sage [2008/05/18(日) 00:27:53 ID:???]
- オブジェクト指向で分析→設計→実装するとき、オブジェクト指向プログラミングの形とマッチしますね。
itpro.nikkeibp.co.jp/article/lecture/20070419/268987/ モデリングの過程がオブジェクト指向じゃないと、あまり劇的に便利という実感は湧かないかな?
- 586 名前:nobodyさん mailto:sage [2008/05/18(日) 00:44:42 ID:???]
- >>583
RailsのARとか使ったことあるの?
- 587 名前:nobodyさん mailto:sage [2008/05/18(日) 02:08:18 ID:???]
- 公開されたキモゲータウンのフレームワークがPerlで作られててPHP脂肪www
- 588 名前:nobodyさん mailto:sage [2008/05/18(日) 04:15:22 ID:???]
- むしろ歓喜しているように見える
|

|