いつもありがとうございます

WEB+DB PRESS Vol.30

WEB+DB PRESS Vol.30

本日届きました。いつもありがとうございます。これからじっくり読もうと思います。とくにPostgreSQL 8.1の記事はじっくりよまねば。

で、注目はやっぱ月宮さんのインタビューでしょ。インタビューはいろいろなことを加味して順番にということらしいので、次回PHP開発者に順番が回ってきたときはhaltさんにインタビューですかね。みてみたいなー、haltさんのインタビュー記事。

というわけでいろいろ注目なVol.30、みなさんも是非手にとってみてください。

追記 DIの特集でもRailsのことをなんども引用してるな。やっぱすごい影響力なんだな。

PHP勉強会@東京の資料

昨日開催されたPHP勉強会@東京で使った資料です。

http://kunit.jp/docs/PHPTokyo7.pdf

このPDFで説明しているように、現在Wikiで公開しているActiveGateway alpha1では「find_all」というようにRoRActiveRecord同様メソッド名が「_」つなぎになっているのを、次のリリースから「findAll」というようにcamelCaseにします。

次のリリースでは以下のものに対応しようと思っています。(ActiveRecordの機能を随時もりこむ+αという感じです)

  • tableInfoで取得しているフィールド情報をキャッシュできるようにする
  • クエリの結果をキャッシュできるようにする
  • SQL文およびブレースフォルダに対する値をログに落とすようにする(デバッグを容易にするため。もちろんレベルわけして出る量を調整できるようにします)
  • destroyやdeleteを実行したときに「dependent => true」と定義されている関連テーブルがあった場合、連鎖して削除するようにする
  • create_at/create_on/update_at/update_onというフィールドを準備しておいたら、自動的に新規作成時間、更新時間がはいるようにする
  • eachメソッドでの取得で全件まとめて取得だけではなくて、指定した件数だけ先読みしておくようなことを可能とする
  • データ保持用のクラスを別途準備すればstdClassの代わりに使えるようにする。(そこにロジックを書くことができるようになる。そうするとActiveRecordパターンになる)
  • update/deleteメソッドの前後にフックポイントを準備する
  • delete_at/delete_onというフィールドがある場合、deleteメソッドを発行しても論理削除しかしないようにする(つまり削除日時を登録するだけ)。論理削除が成り立つために、delete_at/delete_onがある場合はfind系メソッドも「delete_at is null」というような条件を自動的につけるようにする。
  • テーブルの関連付けで「inner_join => true」としておけば、INNER JOINしたものを発行するようにする(alpha1は別々にSQL文が発行される)

他にもこういうのがあるとなーというのがあればツッコミよろしくお願いします。