アーカイブ
Tyzohブログ - ikarashiさんのエントリ
 ikarashiさんのエントリ配信

2007/01/12
Catalyst を使ってみる #001

執筆者: ikarashi (5:28 pm)
こんにちは,五十嵐です.昨日は Perl + Catalyst 環境を整えたところまで進みました
Catalyst::Manual::Intro - はじめてのCatalyst」をざっと読んで,なんとなくわかった気持ちになって先に進んでみます.ここしばらく少しずつ進むと思いますので,タイトルを連載形式の連番にしてみました.

昨日作成した MyApp の環境をそのまま利用して,"http://localhost:3000/catalysttest/" でテストしてみる環境を作ります.
$ cd MyApp
$ script/myapp_create.pl controller CatalystTest
 exists "/home/ikarashi/MyApp/script/../lib/MyApp/Controller"
 exists "/home/ikarashi/MyApp/script/../t"
created "/home/ikarashi/MyApp/script/../lib/MyApp/Controller/CatalystTest.pm"
created "/home/ikarashi/MyApp/script/../t/controller_CatalystTest.t"

$ script/myapp_server.pl

ブラウザで "Mached MyApp::Controller::CatalystTest in CalystTest." と表示されることを確認.作業環境ができました.そこで,

を参照して,簡単なアプリケーションにトライしてみます.以下は参考.

上で作成した環境では,~/MyApp/lib/MyApp/Controller/CatalystTest.pm というファイルが作成されます.この中には index という Private の関数が定義されています.
sub index : Private {
    my ( $self, $c ) = @_;

    $c->response->body('Matched MyApp::Controller::CatalystTest \
                             in CatalystTest.');
}

これが,"http://localhost:3000/catalysttest/" の "/catalysttest/" の部分にマッチし,関数が実行されて

Mached MyApp::Controller::CatalystTest in CalystTest.

がブラウザに表示されたわけです."/catalysttest/" 以下の存在しない URI/URL を指定した場合にエラーを表示するために,以下のようなコードを CatalystTest.pm に追加してみました.
sub default : Private {
        my ( $self, $c ) = @_;
        $c->res->body( 'The requested page does not exist. \
                       Please check your URL. Thank you. - msi' );
}

これで,"http://localhost:3000/catalysttest/hoge/" (エラーになるべきページ) とやってみると

The requested page does not exist. Please check your URL. Thank you. - msi

と表示されます.

続きはまた後日.
ikarashiさんのブログを読む | コメント (0) | トラックバック数 (0) | 閲覧数 (4982)
Trackback is not accepted now.
印刷用ページ 友達に送る
 
投稿された内容の著作権はコメントの投稿者に帰属します。
サイト内検索
ブログ カレンダー
«  «  2008 3月  »  »
24 25 26 27 28 29 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5