前 チュートリアル Templateコントローラ

次 チュートリアル ルーティング

 

おはようございます。かつてゆうきんと呼ばれていたものです。

今回は、規約その2 コントローラ編で規約だけ説明したRestコントローラとHybridコントローラの説明をします。

 

Restコントローラについて

以前書きましたが、RestコントローラとはHTTPメソッドをサポートするものです。

主に POST や GET ですね。

習うより慣れろということで、さっそくサンプルをドン。

GETメソッドだけ存在するRestコントローラサンプルです。

http://localhost/fuelphp/input/data.json にアクセスすると私の個人情報が漏洩します。ヤダ怖い。

通常のGETメソッドと同じ用に値を渡す事もできます。

例えば http://localhost/fuelphp/input/data.json?name=yukin&age=24 という具合です。

これに対応するRestコントローラは以下のようになります。

アクセスした時の見た目は変わりませんが、渡された値を返すようになっています。

先ほどのURLの yukin と 24 の部分をいじってアクセスしてみて下さい。実感できるかと思います。

Restコントローラ単体ではページの表示には向きません。

主にWebサービスを作成する場合に用いることになるでしょう。

 

Hybridコントローラについて

PHPは多重継承が許されていません。

では、RestコントローラとTemplateコントローラを同時に使いたい場合はどうするのでしょうか?

それを解決してくれるのが、Hybridコントローラです。

RestコントローラとTemplateコントローラの特性を同時に持たせたい場合はHybridコントローラを継承するのです。

ファイルを分割することでも解決可能ですが、それだとURLもわかれてしまい、ユーザにわかりにくくなってしまう場合があります。

例えばログインページを作成するときなどはHybridコントローラを使うことになるかと思います。

anction_index で入力画面を表示 post_login でポストされたデータをチェックし、正しければログイン処理を実行する、などです。

覚えておくと非常に便利なものなので、有効活用して下さい。

 

では、おやすみなさい。