TOPシステム開発> コンテキストオブジェクト




まるごとPerl!
使ってわかる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  次のページ

書籍紹介
まるごとPerl! Vol.1

まるごとPerl! Vol.1 PerlでWeb2.0をプログラミングするための最新テクニックを徹底解説!
「Web2.0時代のPerlプログラミング」を徹底解説! 本書では、Webアプリケーションを迅速に開発するためのフレームワークから、Web APIやJSON、RSS、AjaxでWebを自在にRemixするテクニックまで、新時代のPerlの開発技を紹介します。モジュールや文字コードの扱いといった基礎も解説。また、人気サービスの「はてなブックマーク」と「livedoor Reader」の中身を開発者が見せます。来るべきPerl 6も予習できます。PerlでWebを2倍楽しもう!

発売日:2006/08/25発売
定価:\1,995(本体 \1,900+税)
株式会社アドウェイズ 加藤 敦
著者プロフィール
株式会社アドウェイズ   加藤 敦
アフィリエイトシステムやモバイルサイトの構築などを経て、現在、技術マネージャーとして新規サービスの設計、システムの標準化などに携わる。個人的にCPANモジュールの開発や、オープンソースのプロジェクトに参加している。


この記事の評価をお聞かせください
ボタンをクリックしますとウインドウが開きます。
ご意見、ご要望にお応えします! インプレスIT INSIDE

INDEX
第4回:Catalystの最重要オブジェクト
コンテキストオブジェクト
  detachメソッド
使ってわかるCatalyst
第1回 Catalystの導入
第2回 サンプルアプリケーションの作成準備
第3回 コントローラクラスへの理解を深める
第4回 Catalystの最重要オブジェクト
第5回 テンプレートの作成
第6回 登録フォームの作成
第7回 Ajaxで登録フォーム

Think IT 過去人気記事

注目おすすめ情報

Think IT人気ライター BEST 5

IT製品/サービス資料ダウンロード
    おすすめのホワイトペーパー情報を準備中です