18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FuelPHP開発入門_04

Last updated at Posted at 2014-04-11

すっかり忘れてましたが、当方FuelPHP1.7を対象に書いております。

Controller書いていきますヽ(´@ω@`)ノ
FuelPHPのコントローラーのタイプは4つ。

  • Controller
  • Controller_Template
  • Controller_Restable
  • Controller_Hybrid

Controllerは基本のコントローラークラス。

welcome.php
class Controller_Welcome extends Controller // 継承して利用
{

Controller_Templateはビューテンプレートを用いることができるコントローラークラス。例えばヘッダー、サイドバー、フッターなどを含むページ全体のテンプレートがある場合などはこちら。
テンプレートファイルにそれぞれのビューを嵌めこむ形になるので、CakePHPに慣れている方はこちらのほうが使いやすいかもしれません。

Controller_Restableはビューを利用しないコントローラークラス。DBを検索してデータを返す処理などに使います。
第一回でも書いたとおり、ひとつのメソッドでXMLもJSONもPHP配列も返却できるのがFuelの利点ですので、モバイルアプリなどを作成する場合はこちらで作っちゃうと楽かと思います。
※主観です

Controller_HybridはTemplatemとRestableの両方を利用できるクラス、とのことです。まだ使ったことがないです(@ω@)

命名

Controllerクラスの基本的な命名規則は、Controller_Hogehogeです。ファイル名はhogehoge.phpになります。
Controller_Hoge_Hogeなどにしてしまうと一段下の階層を指してしまうので注意。

Controllerクラスの基本メソッドは以下のとおり。

welcome.php
public function action_hello()
{
	return Response::forge(ViewModel::forge('welcome/hello'));
}

クラスの命名規則は、action_hogehogeとなります。
このメソッド(Controller_Welcome -> action_hello())は
localhost/fuelphp/public/ welcome / hello でアクセスすることができます。

return部分で返却しているのがビューファイル、対応のファイルはapp/viewsの下にあります。
app/classes/viewではないので注意!

Controller_Templateを利用する場合、Controller_Restableを利用する場合についてはまた別記事にします。

ちなみにFuelPHPのコーディング規約についてはFuelPHP公式のコーディング規約が詳細ですので是非に。

さて次はCakePHPer大本命のController_Templateの実装に移りましょうヽ(´@ω@`)ノ

※当方CakePHPに慣れているので、オートローダーなど自然にスルーしてる項目がいくつかあると思います。わかりにくい箇所はご指摘いただくとありがたいです。

18
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?