2007年05月15日

Active Record in PRADO

PHP界の"ASP.NET"とも言えるPRADO PHP Frameworkが、ついにActiveRecordを搭載するようになりました。

PRADOには、すでにTDataGridという、データを表形式で出力するための高度なコンポーネントが開発されていました。

TDataGrid - Samples
http://www.pradosoft.com/demos/quickstart/?page=Controls.DataGrid

今回、ActiveRecordとTDabaGridコンポーネントとの兼ね合いはどうなっているのだろう!?という好奇心から、現在のActiveRecordの実装について、少し調査してみました。

PRADOのActive Recordに関するよい記事は下記にあります。

Active Record
http://www.pradosoft.com/demos/quickstart/?page=Database.ActiveRecord
prado_activerecord.png

Active Record Scaffold Views
http://www.pradosoft.com/demos/quickstart/?page=Database.Scaffold

ブログチュートリアルで使うとどうなるか、というのはこちら。
Creating Active Record Classes
http://www.pradosoft.com/demos/blog-tutorial/?page=Day2.CreateAR
prado_blogtutorial.png

Cake(Rails)流の開発や設計になれていると、

・username が VARCHAR で Primary Key!?
(Cakeなら、PKはINT型で"id")
・postsテーブルの外部キー author_id は、usersテーブルを指している!?
(Cakeなら、usersテーブルに対する外部キーは user_id)

などに驚くかもしれません。世界は広い。

で、PRADOの場合には、さすがコンポーネント重視型、ということで、Active Recordを使うもよし、SqlMap Data Mapperを使うもよし、二つを組み合わせるのもよしということで、いろいろ選択肢があるようになっています。

複雑だ、と見るか、あらゆる希望にこたえることができる、と見るかは開発者しだいかもしれませんね。ただ、Cake流の考え方のほうが、見てすぐ分かり、シンプルだとは思います。

ActiveRecord と TDataGrid をつなぐヒントになるような情報は下記にありました。
[Tip] Using data received by TActiveRecord in TDataBoundControl
http://www.pradosoft.com/forum/index.php/topic,6890.0.html

少し見ない間に、コマンドラインツールが追加されているわ、ドイツから開発者が参加しはじめているわ、オープンソースプロジェクトはやはりダイナミックに変化していきますね。
ラベル:PRADO ActiveRecord
posted by SDozono at 22:43| 東京 ☀| Comment(0) | TrackBack(0) | PHP Framework | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。