Automatically exported from code.google.com/p/teeple2
フレームワークは基本的に以下のような流れで動作します。
- URLから呼び出すActionクラスを決定する。
- filter.iniの設定にしたがって FilterChain (ValidatorやConverterなど)を構築する
- !Filterのprefilter()を実行する(設定ファイルに書いてある順番に実行する)
- ActionクラスにRequestパラメータ等を自動セットする。
- Actionクラスのメソッドを実行する。
- Viewを実行する。
- Filterのpostfilter()を実行する(設定ファイルに書いてある順番に実行する)
http://~~~//app/foo/bar/baz.html にアクセスした場合、以下のアクションクラスが実行されます。
- ファイル名: htdocs_app/foo/bar/Baz.php
- クラス名: Foo_Bar_Baz
実行されるメソッドは以下のように決定されます。
- デフォルトでは execute()メソッドが実行される。
- submitボタンのname属性を name="action:hogehoge" としておくと、hogehoge() が実行される。
RequestパラメータはActionクラスのプロパティとして自動セットされます。 例えば、
<input type="text" name="username" value="" />
このTEXTBOXに入力された値は、Actionクラス内で
print $this->username;
のように参照できます。
Actionメソッドの戻り値により次の動作が決まります。
- HTMLテンプレートを表示する場合
- return NULL; とすると、Actionクラスに対応するHTML (htdocs/app/foo/bar/baz.html)をレンダリングします。
- return "foo/bar/baz2.html"; とすると、htdocs_app/foo/bar/baz2.html をレンダリングします。
- 別のActionクラスを実行する場合
- return "redirect:fuga_hoge"; とすると、/app/fuga/hoge.html にリダイレクトされます。このとき、リダイレクト前のRequestパラメータ(Requestオブジェクト)が復元されます。
- 他のURLにリダイレクトする場合
- return "location:~~~~" とすると、指定されたlocationにリダイレクトされます。パラメータは引き継がれません。(通常のHTMLのリダイレクト)
smartyテンプレートからは、Actionオブジェクト、Requestオブジェクト、Sessionオブジェクトを参照できます。
-
Actionオブジェクト: $a
-
Requestオブジェクト: $r
-
Sessionオブジェクト: $s
-
概要
-
カスタマイズ
- Filterを作る
- Validatorを作る
- Converterを作る
-
リファレンス
- Teeple_ActiveRecord
- Validator
- Converter
- trim
- datearray
- datetimehash
- timehash
- tel
- zip
- hiragana
- katakana
- hankatakana