【propel】PHPのORMについて語ろうぜ【peropero】

このエントリーをはてなブックマークに追加
1nobodyさん
ORMとはオーアールマッパ。
詳しくは以下。
http://www.sophia-it.com/content/ORM
2nobodyさん:2007/03/06(火) 22:16:53 ID:???

        lヽ ノ l        l l l ヽ   ヽ
  )'ーーノ(  | |  | 、      / l| l ハヽ  |ー‐''"l
 / O  | | |/| ハ  / / ,/ /|ノ /l / l l l| l  O ヽ
 l   ・  i´ | ヽ、| |r|| | //--‐'"   `'メ、_lノ| /  ・  /
 |  R  l  トー-トヽ| |ノ ''"´`   rー-/// |  R |
 |  ・   |/     | l ||、 ''"""  j ""''/ | |ヽl  ・ |
 |  M   |       | l | ヽ,   ―   / | | l  M  |
 |   !!  |     / | | |   ` ー-‐ ' ´|| ,ノ| | |  !! |
ノー‐---、,|    / │l、l         |レ' ,ノノ ノハ、_ノヽ
 /        / ノ⌒ヾ、  ヽ    ノハ,      |
,/      ,イーf'´ /´  \ | ,/´ |ヽl      |
     /-ト、| ┼―- 、_ヽメr' , -=l''"ハ    |  l
   ,/   | ヽ  \  _,ノーf' ´  ノノ  ヽ   | |
、_    _ ‐''l  `ー‐―''" ⌒'ー--‐'´`ヽ、_   _,ノ ノ
   ̄ ̄   |           /       ̄
3nobodyさん:2007/03/06(火) 22:19:42 ID:???
4nobodyさん:2007/03/06(火) 22:42:12 ID:???
s2関連て2chで全く情報見ないけどどうなんだろ?
結構活発に活動してるっぽいが…
5nobodyさん:2007/03/06(火) 22:43:49 ID:???
>>2
この子の名前おしえて
6nobodyさん:2007/03/07(水) 18:18:21 ID:???
>>4
AOP使える人が少ないんじゃないでしょうか?
7nobodyさん:2007/03/07(水) 18:26:52 ID:???
インターフェースと実装の分離
インターフェースを定義するだけで、アスペクトの適用やSQL文の自動生成が可能になります。

これは何かよさそう
8nobodyさん:2007/03/07(水) 19:53:12 ID:???
>>6
確かにまったく聞かないね
俺もよく知らないけど…
AOPを知ればPHPプログラム界のトップグループに躍り出られますか?
9nobodyさん:2007/03/08(木) 20:15:15 ID:???
S2DaoはWeb+DB Pressの特集読んだんだけど
シンプルな例しか載ってなくてあんまし・・
AOPとか技術要素はどうでもいいからできることを知りたかったな。

ORMの課題って大きく二つだと思う
1) 速度が遅い(SQLの)
2) 複雑なクエリ(特にJoinする場合)に対応できない

RailsのActiveRecordはどちらも、特に(2)に関してはかなりスマートで
良いと思うけど、PropelとかS2Daoはどうなんだろ。

10nobodyさん:2007/03/09(金) 12:42:17 ID:7vTpZ7Ji
symfonyのPropelとRailsのORMって結構違うもんなの?
ORMってsymfonyのPropelしか使ったことないけどかなり楽なんだけど。

パフォーマンス出したい時とか、複雑なクエリの場合はSQLで書けばいいし。
ドメインロジックもモデルに入れる感じで開発するのが楽になった感じ。
その分テーブル設計をActiveRecordに合わせた感じにはなっちゃってるけど。

PropelってJavaでいうTorque何だよね?
Torque使ってる話あまり聞かないけどあんまり良くないのかね?
11nobodyさん:2007/03/09(金) 16:08:11 ID:???
Propelを使って仕事したけど、テーブル二つをJoinするまでなら、
Propelの文法で書いても悪くないと思った。
ただ、それ以上はSQLを生で書いたほうが効率が良かった。


AOPはプログラムしてると、使いたくなる場面が多々でてくるけど、
Javaで遊んだ限りにおいては、使いたいアスペクトが入れたい所に入れ難いって問題があった。
12nobodyさん:2007/03/09(金) 16:11:21 ID:???
あと、Propel使うならコレがもの凄く便利。
http://blog.tooleshed.com/?p=6
DBDesigner4のXMLをPropleのSchemaに変換してくれます。
13nobodyさん:2007/03/09(金) 17:18:50 ID:???
DBDesigner4をはじめて知った
これよさそうだね
14nobodyさん:2007/03/09(金) 23:01:14 ID:???
>>12
これは、便利そうですね。

RoRのARに憧れつつ、案件はPHPだという現実に直面している自分には、
DBDesigner4+Propelで幸せになれますか?
1512:2007/03/10(土) 05:25:06 ID:???
幸せになれるかは微妙ですが、個人的にはこの手のツール無しで仕事をしたいとは思いません。
Propelはpearで入れれるので、Schemaさえ作ってしまえば敷居はそんなに高くないと思いますよ。
1614:2007/03/10(土) 13:51:07 ID:???
レスどうもです。
Propelについて調査してみます。
出来れば、オリジナルのフレームワークに組み込みたいと考えています。
17nobodyさん:2007/03/11(日) 17:27:46 ID:???
http://pear.piece-framework.com/index.php?package=Piece_ORM

ピースフレームワークのORMが出来たもよん
18nobodyさん:2007/03/11(日) 18:52:37 ID:???
>>17
ピースガンバレ!
俺たちの仕事を楽にしてくれ!
19nobodyさん:2007/03/17(土) 06:39:03 ID:???
AOPについての本買ってみた(・3・)
メソッド後から付けたりはずしたりする感じやね
20nobodyさん:2007/03/19(月) 03:14:27 ID:???
JavaScriptとかActionScriptなら後付けが基本だよな
JavaScriptの方が先進的なのか?
21nobodyさん:2007/03/19(月) 11:02:02 ID:???
言語の基本思想の問題であって
後付できるほうが先進的というわけではないよ

これはオブジェクト指向言語で多重継承を許すかどうかとかの議論に似てる気がする
22nobodyさん:2007/03/19(月) 14:38:13 ID:???
mixinて何のためにあるのかよくわからなかったけど
AOP的な発想なんかな
23nobodyさん:2007/03/26(月) 00:26:05 ID:???
>>11
逆にテーブルが100や200な規模になってきて、
連結が10や20当たり前になってくると、
Criteria使った方がPHPでの連結の再利用が楽。

まぁViewでもいいんだが、mysqlの場合Viewのダンプが
DB指定になっちゃうから、結構やっかいなんだよな
24nobodyさん:2007/03/26(月) 06:25:13 ID:???
あんた何処まで正規化するきだ
25nobodyさん:2007/04/25(水) 02:51:37 ID:???
正規化に何処までも糞も無い。
してあるかしてないか、それだけだ。
26nobodyさん:2007/04/25(水) 10:45:57 ID:???
だったらなんで「第n正規形」とかってレベルを示す番号が付くんだよ
27nobodyさん:2007/07/02(月) 01:06:23 ID:???
>>25では無いけれど、
第四正規形以上を業務で使った事がない。

頻度を鑑みるに、
正規形=第三正規形という言葉の運用でもいい気がするんだが、
そんな私はDB設計初心者過ぎますか。
28nobodyさん:2008/09/10(水) 23:03:09 ID:61Br4hkf
Propel1.3.0正式版でもcreate-db動かないのな。
とりあえずCreoleの置き換えを待つしかないのか、メッセージ読む限りは。
29ラッパ&彩奈:2009/03/08(日) 17:59:44 ID:e60XGm11
そうですか
30nobodyさん:2009/08/20(木) 10:19:19 ID:???
保守
31nobodyさん:2009/10/29(木) 09:10:24 ID:???
hoshu
32nobodyさん:2009/12/06(日) 14:59:32 ID:???
hoshu
33nobodyさん:2010/02/23(火) 00:22:24 ID:???
・PoEAA の DataMapper パターンの実装
・マッピングするオブジェクトは、Plain Old Object
・Eager Loading と Lazy Loading の両方に対応
・単体で動き、Pearとかその他のライブラリに非依存

こんなPHPのORマッパーないですか?
34nobodyさん:2011/06/06(月) 00:47:14.23 ID:???
Doctrineってどうよ?
35電脳プリオン 忍法帖【Lv=40,xxxPT】(7+0:8) 【26.2m】
スレタイの両側が謎