Helloアプリケーション
それでは、実際にサンプルアプリケーションを作成してみましょう。本連載ではCentOS上に「test」という名前のアカウントを用意し、このホームディレクトリ以下にサンプルなどを作成するものとします。
アプリケーションのスケルトン作成
アプリケーションのスケルトンを作成するには、「catalyst.pl」を実行します。catalyst.plを実行すると、次のようなディレクトリ/ファイルが作成されます。
<MyApp>
|-- Changes
|-- Makefile.PL -- 作成したアプリケーションのパッケージや
| 配布に使用するためのスクリプトファイル
|-- README
|-- lib
| |-- <MyApp>
| | |-- Controller -- アプリケーションのControllerディレクトリ
| | | `-- Root.pm -- ルートControllerスクリプトファイル
| | |-- Model -- アプリケーションのModelディレクトリ
| | `-- View -- アプリケーションのViewディレクトリ
| `-- <MyApp>.pm -- アプリケーションモジュール本体ファイル
|-- <myapp>.conf -- アプリケーション設定ファイル
|-- root -- コンテンツルートディレクトリ
| |-- favicon.ico
| `-- static
| `-- images
| |-- btn_120x50_built.png
| |-- btn_120x50_built_shadow.png
: :(省略)
| `-- catalyst_logo.png
|-- script -- ヘルパースクリプト用ディレクトリ
| |-- <myapp>_cgi.pl
| |-- <myapp>_create.pl
| |-- <myapp>_fastcgi.pl
| |-- <myapp>_server.pl
| `-- <myapp>_test.pl
`-- t -- テスト用スクリプトディレクトリ
|-- 01app.t
|-- 02pod.t
`-- 03podcoverage.t
作成されたディレクトリ名、ファイル名で「<MyApp>」または「<myapp>」となっている箇所はcatalyst.plの引数として指定されたアプリケーション名が入ります。
主なディレクトリ、ファイルについては補足しておきます。
- lib/<MyApp>/Controller/Root.pm
- root
- script
- t
URLの「/」に対応するルートのControllerを表すスクリプトファイルです。
アプリケーションのコンテンツルートディレクトリです。このディレクトリ以下にイメージや静的なファイルなどを配置します。初期状態ではfavicon.icoファイルやCatalystのロゴイメージなどが作成されます。
ヘルパースクリプト用ディレクトリです。組み込みサーバ実行用スクリプト(<myapp>_server.pl)やコンポーネントモジュール生成用スクリプト(<myapp>_create.pl)などが置かれます。それぞれのスクリプトファイル名は「<アプリケーション名>_」で始まります。
テスト用スクリプトディレクトリです。このディレクトリ以下にはテスト用のPerlスクリプトファイルを配置します。テスト用スクリプトファイルの拡張子は「.t」になります。テスト方法についても、回を改めて説明していく予定です。
それでは、「Hello」アプリケーションのスケルトンを作成してみましょう。コンソールから次のコマンドを入力してください。Windowsではコマンドプロンプトを開いて入力してください。
$ catalyst.pl Hello
catalyst.plは、アプリケーションのひな形を作成するためのスクリプトですが、実行時に次のようなオプションを指定できます。
-help-short-force-makefile-scripts
ヘルプを表示します。
「<MyApp>/lib/<MyApp>」ディレクトリ以下のModel/View/Controllerディレクトリ名を「M/V/C」のように短い名前で作成します。
既存のアプリケーションスケルトンに対して「catalyst.pl」を実行した場合に、拡張子が「.new」となるファイルを作成しません。既に<MyApp>がある状態で「catalyst.pl <MyApp>」を実行すると、最初に自動生成されたファイルが更新されている場合には、「ファイル名.new」というファイルを作成します。「catalyst.pl -force <MyApp>」として実行すると、更新されていても.newファイルは作成せず、上書きもしません。
Makefile.PLだけを対象に更新します。Catalystのバージョンをあげた場合に、「catalyst.pl -force -makefile <MyApp>」として実行すると、新しい「Makefile.PL」で上書きします。-forceオプションをつけない場合には、新しく「Makefile.PL.new」ファイルが作成されます。
scriptディレクトリ以下にあるヘルパースクリプトだけを対象に更新します。「-makefile」オプションと同様に、-forceをつけた場合だと既存のファイルを上書きし、つけない場合だと拡張子に「.new」をつけたヘルパースクリプトを新規に作成します。
例として、「-short」オプションは次のように使用します。
$ catalyst.pl -short Hello
追記:2009/10/21
ActivePerlのインストールおよび設定につきましては、次の点を前提にしております。
- perlの実行ファイルへのパスが環境変数PATHに設定されている
- 「.pl」ファイルの関連づけがperlの実行ファイルに対して設定されている
ActivePerlのインストール方法については、次のサイトをご参照ください。
ActivePerlのインストール方法(WINGSプロジェクト)
PPMでCatalystをインストールした場合には、catalyst.plに加えて、同じ動作をする「catalyst.bat」というバッチファイルも同時にインストールされます。「.pl」ファイルへの関連づけが行われていない場合には、Webアプリケーションスケルトンを作成する際に、こちらのバッチファイルをお使いください。
リスト12-2:catalyst.batを使用して「Hello」アプリケーションスケルトンを作成C:\CodeZine>catalyst HelloまたはC:\CodeZine>catalyst.bat Hello
