SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Webアプリケーションフレームワーク「Catalyst」入門

初めてのCatalyst入門(1)
PerlによるWebフレームワークCatalystとは?

Catalystのインストール手順、サンプルアプリケーションの作成方法


アプリケーションの実行

 Helloアプリケーションのスケルトンができましたので、まずこの時点で一度動作させてみましょう。

 Catalystはmod_perlFastCGIを使用して実行させることもできますが、通常の開発時ではデバッグ情報を逐一確認しながら進められるため、組み込みサーバを使用してアプリケーションを実行する方法も便利です。組み込みサーバはcatalyst.plで生成されたヘルパースクリプトを使用して起動します。

 Helloアプリケーションの組み込みサーバを起動するには次のように「Hello/script/hello_server.pl」を使用します。

リスト14:「Hello」アプリケーションの組み込みサーバを起動する
$ ./Hello/script/hello_server.pl

 組み込みサーバを起動すると、次に示すようにコンソールにはさまざまなデバッグ情報や読み込んだプラグイン、コンポーネント、URLなどの情報を表示します。

 また、Webブラウザからのリクエストに対して、どのアクションが実行されたか、などの情報も表示されます。

$ ./Hello/script/hello_server.pl
[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded plugins:読み込まれたプラグインの情報
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader  0.24                                       |
| Catalyst::Plugin::Static::Simple  0.21                                     |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::HTTP"
[debug] Found home "/home/test/Hello"
[debug] Loaded Config "/home/test/Hello/hello.conf"
[debug] Loaded components:読み込まれたコンポーネントの情報
.-----------------------------------------------------------------+----------.
| Class                                                           | Type     |
+-----------------------------------------------------------------+----------+
| Hello::Controller::Root                                         | instance |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:プライベートアクションとクラス/メソッド関係
.----------------------+--------------------------------------+--------------.
| Private              | Class                                | Method       |
+----------------------+--------------------------------------+--------------+
| /default             | Hello::Controller::Root              | default      |
| /end                 | Hello::Controller::Root              | end          |
| /index               | Hello::Controller::Root              | index        |
'----------------------+--------------------------------------+--------------'

[debug] Loaded Path actions:URLのパスとプライベートアクションの関係
.-------------------------------------+--------------------------------------.
| Path                                | Private                              |
+-------------------------------------+--------------------------------------+
| /                                   | /default                             |
| /                                   | /index                               |
'-------------------------------------+--------------------------------------'

[info] Hello powered by Catalyst 5.80007

 「<myapp>_server.pl」スクリプトは、実行時に次のようなオプションを指定できます。

_server.pl」の実行時オプション
オプション 説明
-? または -help ヘルプを表示
-p または -port 組み込みサーバのPort番号を指定(デフォルト:3000)
-k または -keepalive keep-aliveコネクションを有効にする
-r または -restart ファイルが更新された場合には、自動的に再起動する

 例えば、Port番号8000で組み込みサーバを起動する場合には次のように指定します。

リスト15:Port番号8000で組み込みサーバを起動する
$ ./Hello/script/hello_server.pl -p 8000

 組み込みサーバはデフォルトではPort番号3000で動作しているので、Webブラウザで開いてみましょう。

 今回の例では、組み込みサーバを起動しているPCのIPアドレスは「192.168.123.69」ですので、URLは「http://192.168.123.69:3000/」になります。IPアドレスやURLは皆さんの動作環境に応じて適宜変更してください。

Helloアプリケーションの実行画面
Helloアプリケーションの実行画面

次のページ
まとめ

この記事は参考になりましたか?

Webアプリケーションフレームワーク「Catalyst」入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 花田 善仁(ハナダ ヨシヒト)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4190 2009/10/21 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー