|
|
使ってわかるCatalyst |
第4回:Catalystの最重要オブジェクト
著者:アドウェイズ 加藤 敦 2006/9/14
|
|
|
1 2 次のページ
|
|
コンテキストオブジェクト
|
さて、アクションの定義の中に一つ重要な変数があります。$c、コンテキストオブジェクトです。
コンテキストオブジェクトはアクションの第2引数として必ず渡されるCatalystの最重要オブジェクトです。普通のモジュールとは違って、第1引数の$selfは使いません。
コンテキストオブジェクトから、他のオブジェクトへのインターフェイスのメソッドや、重要なメソッドを使えます。以下に主なメソッドを説明します。
|
request(またはreq)メソッド
|
Cartalyst::Requestオブジェクトを返すメソッドです。CGIモジュールのようにparamメソッドで渡されたパラメータを受け取ります。
$c->req->param('key');
|
response(またはres)メソッド
|
Catalyst::Responseオブジェクトを返すメソッドです。レスポンスの中身を決めるために使います。
$c->res->status(404);
$c->res->body('body');
|
logメソッド
|
Cataliyst::Logオブジェクトを返すメソッドです。ログレベルの名前のメソッドが使えます。
$c->log->info('info message');
$c->log->debug('debug message');
|
configメソッド
|
Catalyst::Configオブジェクトを返すメソッドです。アプリケーションクラスで行った設定やYAMLファイルで行った設定の内容を取得することができます。
|
stashメソッド
|
ハッシュリファレンスを返します。ここにデータを入れておけば、どこからでも参照できます。stashメソッドのハッシュリファレンスのキーは、テンプレート内でもそのまま使えます。
|
forwardメソッド
|
他のアクションや、クラスメソッドを実行するメソッドです。リスト7のように使います。第1引数がアクションの名前か、クラス名になります。クラス名の場合は、第2引数にメソッド名を取りますが、省略するとprocessメソッドが呼ばれます。
リスト7:forwardメソッドの例
$c->forward('/action');
$c->forward('Bookmark::View::TT', 'process');
$c->forward('Bookmark::View::TT');
|
1 2 次のページ
|
|
|
著者プロフィール
株式会社アドウェイズ 加藤 敦
アフィリエイトシステムやモバイルサイトの構築などを経て、現在、技術マネージャーとして新規サービスの設計、システムの標準化などに携わる。個人的にCPANモジュールの開発や、オープンソースのプロジェクトに参加している。
|
|
|
|