ぴいたんではコントローラーのアクションを実行する前に、フレームワークからいくつかの設定用関数が呼ばれます。それによりデータベースやモデルといった機能の設定を行います。ユーザーが設定関数を宣言していなかった場合、デフォルトの動作が行われるため必要なければ設定を行わなくても動作します。
設定関数はconfig.aspファイルにまとめて宣言することを推奨しています。各々のページでpeetan.aspをincludeする前にconfig.aspをincludeします。特定のページのみに別の動作を行わせたい時は、config.asp内の関数を以下のように宣言し、ページで別の関数を用意しておきます。
config.asp
<%
Function config_controller(ByRef c)
c.template = "template.html"
CallMethod "config_controller_action(arg1)", c, null, null
End Function
%>
onepage.asp
<%
Function config_controller_action(ByRef c)
c.template = "blank.html"
End Function
%>
Function config_database(ByRef db)
データベースの設定を行います。以下の関数を利用してデータベースを設定します。
Function Database.add(name, dsn, dbtype)
| name | コネクションを管理するためのキーで、通常は”default”を使ってください。 |
| dsn | ADOで接続する際の接続文字列です。 |
| dbtype | DB_TYPE_MYSQL
DB_TYPE_POSTGRESQL
DB_TYPE_SQLSERVERを指定します。 |
Function config_database(ByRef db)
db.add "default", "dsn=db;uid=user;pwd=pass;", DB_TYPE_MYSQL
End Function
Function config_models(ByRef c)
コントローラーにモデルを読み込みます。以下の関数を利用してモデルの設定を行います。
Function Controller.AddModel(path, cname, name, tname)
| path | モデルを宣言してあるファイルを指定します。 |
| cname | モデルのクラス名を指定します。 |
| name | モデルを管理するための連想配列のキーです。(nullの場合は、cnameがキーになります) |
| tname | テーブル名を指定します。指定しない場合は、モデルのクラス側で指定しておく必要があります |
Sub config_models(ByRef c)
c.AddModel "user.asp", "user", "user", null
End Sub
Function config_components(ByRef c)
コントローラーにコンポーネントを読み込みます。以下の関数を利用してコンポーネントの設定を行います。
Function Controller.AddComponent(path, cname, name)
| path | コンポーネントを宣言してあるファイルを指定します。 |
| cname | コンポーネントのクラス名を指定します。 |
| name | コンポーネントを管理するための連想配列のキーです。(nullの場合は、cnameがキーになります) |
Sub config_components(ByRef c)
c.AddComponent "mail.asp", "mail", null
End Sub
Function config_controller(ByRef c)
アクションが呼ばれる直前に呼ばれる関数です。特に何をするべきという関数ではありませんので必要に応じて使用します。下記サンプルでは共通テンプレートファイルを設定しています。
Function config_controller(ByRef c)
c.template = "template.html"
End Function
Function after_action(ByRef c)
アクションが呼ばれた直後に呼ばれる関数です。 特に何をするべきという関数ではありませんので必要に応じて使用します。
Function after_action(ByRef c)
Response.Write "強制修了"
Response.End
End Function