oilコマンドでプロジェクトディレクトリを作成する。
oil create fuelphpもしくは、gitでレポジトリからcloneする。
git clone --recursive git://github.com/fuel/fuel.git fuelphpFuelPHP1.7.2からは依存関係はcomposerで管理できるようになっている。依存関係にあるパッケージの最低限の安定性がdevになっているので、stableにして再度、依存関係を更新する。
# composer.json ... "minimum-stability" : "stable",composerで依存関係を更新する。
php composer.phar self-update php composer.phar update
fuel/app/config/config.phpを編集する。
# fuel/app/config/config.php ... 'language' => 'ja', // 言語の設定 ... 'locale' => 'ja_JP.UTF-8', // ロケールの設定(シェルでlocale -aコマンドで使用可能なロケールを調べておく) ... 'default_timezone' => 'Asia/Tokyo', // タイムゾーンの設定 ... 'log_threshold' => Fuel::L_ALL, // ログ情報をすべて記録する
ユーザーが自身で開発して作成するファイルは原則この下に置く。
app ├── bootstrap.php ・・・ブートストラップファイル ├── cache ・・・Cacheクラスの作成するキャッシュが保存される ├── classes │ ├── controller ・・・コントローラークラスファイル置き場 │ ├── model ・・・モデルクラスファイルを配置 │ └── presenter ・・・プレゼンタ?を配置 │ └── welcome ├── config ・・・設定ファイルを配置 │ ├── config.php │ ├── db.php │ ├── routes.php │ ├── development │ ├── production │ ├── staging │ └── test ├── lang ・・・言語ファイルを配置 ├── logs ・・・ログフォルダ ├── migrations ・・・マイグレーションファイル(データベーステーブルを定義)を配置 ├── modules ・・・モジュールを配置 ├── tasks ・・・タスク?を配置 ├── tests ・・・テストを配置 │ ├── controller │ ├── model │ └── view ├── themes ・・・ ├── tmp ・・・一時フォルダ ├── vendor ・・・サードパーティのライブラリを配置(composer使用の場合はfuel/vendorに配置される) └── views ・・・ビューを配置 └── welcome
# 編集中 docs ・・・FuelPHPの公式ドキュメント fuel ・・・FuelPHPのプログラムやファイル郡 ├── app │ ├── cache │ ├── classes │ │   ├── controller ・・・コントローラークラスのファイル置き場 │   │   ├── model ・・・モデルクラスのファイル置き場 │   │   └── presenter │   │   └── welcome │   ├── config ・・・各種設定ファイル │   │   ├── config.php ・・・アプリケーション全体に関する設定 │   │   ├── db.php ・・・データベースに関する設定 │   │   ├── routes.php ・・・ │   │   ├── development │   │   ├── production │   │   ├── staging │   │   └── test │   ├── lang │   │   └── en │   ├── logs │   ├── migrations │   ├── modules │   ├── tasks │   ├── tests │   │   ├── controller │   │   ├── model │   │   └── view │   ├── themes │   ├── tmp │   ├── vendor │   └── views ・・・ビューファイル置き場 │   └── welcome
- 「fuel/app/classes/controller」ディレクトリ以下にクラスファイルを配置する。
- ファイル名はコントローラ名とする。
- クラス名には「Controller_」を頭につける。
- クラス名の単語は最初の文字は大文字でその他は小文字にする。
- クラス名の中の「 _ 」はフォルダ区切りになる。
- Controller クラスを継承する。
ルート名/コントローラ名/メソッド名[/パラメータ1[/パラメータ2[/...]]]サブフォルダを利用して、「fuel/app/classes/contorolle/サブフォルダ/コントローラ」のように配置した場合には、
ルート名/サブフォルダ名/コントローラ名/メソッド名[/パラメータ1[/パラメータ2[/...]]]
- ブラウザから実行されるメソッド名(アクションメソッド)には「action_」を頭につける。
- 特殊メソッド
action_index() | URLでメソッド名が省略された時に実行される。 |
---|---|
before() | アクションメソッドの実行前に実行される。コントローラ内で共通する前処理などを記述する。 |
after($response) | アクションメソッドの実行後に実行される。引数にはアクションメソッドの返り値をとる。 |
router($method, $params) | 内部ルーティングを上書きする。すなわち、このメソッドが定義されているとURLに別のメソッド名が指定されていても、(before()メソッドの次に)router()メソッドが実行される。 |
- Controller_Restクラスを継承する。
- 実行されるメソッドにはHTTPメソッドの接頭辞をつける。利用可能なHTTPメソッドは、「get_」「post_」「put_」「delete_」。すなわち「action_メソッド名」は使えない。
- URLのメソッド名に出力されるフォーマットの拡張子をつける。
- 「fuel/app/views」ディレクトリ以下に配置する。
- ファイル名はすべて小文字(FuelPHP共通の規則)。
- viewディレクトリ下にコントローラ名のディレクトリを作りその下に関連するビューファイルを配置することが多い。
コントローラクラス内で、次のように呼び出してビューオブジェクトを生成する。
View::forge($file[, $data]) $file・・・ビューファイル名(拡張子を除く) $data・・・ビューに渡す連想配列またはオブジェクト(例)ビューファイル
# fuel/app/views/home/index.php <html> <head> <title><?php echo $title; ?></title> </head> <body> Welcome, <?php echo $username; ?>. </body> </html>(例1)コントローラからの呼び出しとビューへの当てはめ。
class Controller_Home extends Controller { public function action_index() { $data = array(); $data['username'] = 'Joe14'; $data['title'] = 'Home'; // 連想配列をforgeメソッドに渡すことで、ビューに当てはめる。 return View::forge('home/index', $data); } }(例2)
class Controller_Home extends Controller { public function action_index() { // ビューオブジェクトを作成(この段階ではビューへの当てはめは行われない) $view = View::forge('home/index'); // ビューのプロパティの形で変数を当てはめることもできる。 $view->username = 'Joe14'; $view->title = 'Home'; // set()メソッドを使う方法もある。 $view->set('username', 'Joe14'); $view->set('title', 'Home'); return $view; } }
最新コメント