目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

Catalystメモ

自分用Catalystの備忘録です。いつものごとく他の人には役に立ちそうにないです。

インストール

Perl5.8のActivePerlレポジトリにしかパッケージが無いっぽいです。少なくとも5.10.1には無かったです。

ppm install Catalyst::Devel

スケルトン作成

Perl\binおよびPerl\site\binにパスが通っていること。

catalyst 'アプリケーション名'

下記のような階層でスケルトンが作成される

├─Sample
│  │  Changes
│  │  Makefile.PL
│  │  README
│  │  sample.conf
│  │  
│  ├─lib
│  │  │  Sample.pm
│  │  │  
│  │  └─Sample
│  │      ├─Controller
│  │      │      Root.pm
│  │      │      
│  │      ├─Model
│  │      └─View
│  ├─root
│  │  │  favicon.ico
│  │  │  
│  │  └─static
│  │      └─images
│  │              btn_120x50_built.png
│  │              btn_120x50_built_shadow.png
│  │              btn_120x50_powered.png
│  │              btn_120x50_powered_shadow.png
│  │              btn_88x31_built.png
│  │              btn_88x31_built_shadow.png
│  │              btn_88x31_powered.png
│  │              btn_88x31_powered_shadow.png
│  │              catalyst_logo.png
│  │              
│  ├─script
│  │      sample_cgi.pl
│  │      sample_create.pl
│  │      sample_fastcgi.pl
│  │      sample_server.pl
│  │      sample_test.pl
│  │      
│  └─t
│          01app.t
│          02pod.t
│          03podcoverage.t

Controllerクラス作成

perl 'アプリケーションルート'\script\'アプリケーション名'_create.pl controller 'controllerクラス'

Viewクラス作成

perl 'アプリケーションルート'\script\'アプリケーション名'_create.pl view 'viewクラス' 'ヘルパークラス'
テンプレートの作成

'アプリケーションルート'\root\'controllerクラス'\'アクション'.ttを手動で作成

Modelクラスの作成

perl 'アプリケーションルート'\script\'アプリケーション名'_create.pl model 'modelクラス' 'ヘルパークラス' 'スキーマクラス' 'スキーマクラス作成方法' 'データベース接続文字列' 'ユーザ' 'パスワード' '接続オプション'

スタンドアロンサーバの起動

rオプションでファイル更新時に自動的にサーバを再起動します。デフォルトのポートは3000番です。

perl 'アプリケーションルート'\script\'アプリケーション名'_server.pl -r