Ext JS に関しては,新しい記事は Sunvisor Lab. ExtJS 別館 にあります。そちらもよろしくお願いいたします。

xFramworkPXのモジュールっていいよ

 xFrameworkPXのモジュールから他のモジュールを参照することはできないのだろうか,ということをいろいろ考えていました。twitterでちょうどリプライをくださった小堤さんにも聞いてみたりして。

でもLiveRecordのメソッドのリファレンスをよくよく見てみると,いろいろなことができるようになっているのが分かります。

テーブルにselect文を発行する際に,もっとも抽象化されているのはsetメソッドです。ExtJsとの相性も良くて,ExtDirectから渡したオブジェクトをそのまま利用してテーブルからデータを取得できます。このメソッドは$usetableで指定されたテーブル(あるいはアソシエートされているテーブル)からデータを取得します。また,他のテーブルをアソシエートする時には,xFrameworkPXの場合は必ずしもモジュールを作成する必要はなく,アソシエート対象をテーブル名で指定することもできます。

rowメソッドやrowAllメソッドは,もう少し原始的というか,DB側に近くなっています。これらのメソッドの場合は$usetableなんかは関係なしに,オプションのqueryで渡したSQLを実行します。てことは,あるテーブルを参照するモジュールであっても,他のテーブルを参照するメソッドがかけるということになります。このあたりのゆるさが非常にプログラムを作る上ではありがたいなぁと思います。

さらにexecとかqueryというようなメソッドの場合は,もっと原始的にSQLをDBに丸投げできます。すばらしい。

フレームワークの便利な機能はちゃんと使えて,その上でルール無用の悪党にもなれる。いいですね。現実的で使いやすいです。

 

トラックバック


URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。