2011年12月13日火曜日

Pradoのイベント駆動を想像してみる

PradoというPHPフレームワークのイベント駆動がどうなっているのか、Pradoのホームページを眺めているうちに、何となく想像がついてきました。

ただし、ソースコードは一切読まずの想像ですので、間違ってるかもですが。

QuickStartサンプルから

単純なラジオボタンのデモですが、このページからソースコードを眺めると、

  • Home.pageの97行目:
    <com:TButton Text="Submit" OnClick="selectRadioButton" />
  • Home.phpの10行目:
    public function selectRadioButton($sender,$param)

とあって、サブミットボタンがクリックされると「selectRadioButton」というイベントが発生して、HomeクラスのselectRadioButtonメソードに処理を渡しているようです。

なるほど、Pradoのいうイベント駆動は、まさGUIでのイベント駆動に近いようです。JavaScriptを使ってHtml上のボタンなどにイベントを発生させて、サーバー側のPHPクラス・メソードに結び付けているのでしょう。

Yiiはイベント駆動ではないのか?

さて、Pradoは「終了?」したのか、
新しい「Yii」というフレームワークの開発を始めているということです。

Yiiの特徴は「コンポーネント指向」

これまた新しい言葉が・・・
いや、よく見たらPradoでも同じ言葉を使ってました。

ともあれ、Yiiはイベント駆動をやめたのでしょうかね?

これまた想像ですが、Restが優勢になってイベント駆動というパラダイムが分かりにくくなったからではないでしょうか?

要するにリクエストがあった場合に、どのクラスのメソードに処理をさせるのかを決定できればいいわけで、RestならURIだけで決定できます。ボタンクリックでわざわざイベントを発生させるのは無駄な気がします。

さ、次は「コンポーネント指向」について調べてみよう。

0 件のコメント: