BEAR.Sundayのリソース指向について、ざっくりまとめてみました。

BEAR.Sundayは大きく分けて、「App層」「Page層」の二つに分かれています。「App層」はいろいろなところから共通で利用するAPIのようなイメージです。「Page層」は表現の形式をつかさどる部分でApp層で作成したAPIを利用し、JSON形式で表現したり、HTML形式で表現したりします。

なので、アプリケーションが動作する順番は以下のようになります。ブラウザでユーザーがアクセスしたことを前提とします。

  1. ユーザーはブラウザでPHPのプログラムにアクセスする。

  2. HTTPのメソッドに応じたPage層のメソッドが呼ばれる。(※参照)

  3. Page層からApp層のメソッドを呼ぶ。(HTTPのgetメソッドでリクエストがあった場合は、App層のクラスのonGetメソッドを呼ぶ)

  4. App層のメソッドからJSONのレスポンスが返る。

  5. Page層のメソッドはApp層から返されたJSONのレスポンスを受け取って、HTMLに整形してHTTPレスポンスとして返す。

※ Page層、App層ともに4つのメソッドがあります。それぞれ「onGet」「onPost」「onPut」「onDelete」です。これはHTTPメソッドに対応していて「Get」「Post」「Put」「Delete」のときにそれぞれのメソッドが呼ばれます。