はちゅにっき

こっちのブログはまったり更新

modern Catalyst

hide-k さんのモダン Catalyst 講座。
すごく漏れている場所が多いと思います。
# メモが追いつかなかった。。。

モダンな Catalyst

use Moose;

extends 'Catalyst'

__PACKAGE__->config( );
__PACKAGE__->setup( qw/ ロードするプラグインとか / );

Catalyst の拡張方法

Plugin は怖い人から怒られるからオススメしない。
Moose::Role 使うといいよ。

モダンな Controller

package MyApp::Controller::Hoge;

BEGIN { extends "Catalyst::Controller" }

BEGIN で extends しなきゃならないよ。
Controller の 拡張はどうしよう?

  • Moose::Role
    • MooseX::MethodAttributes を使わないとうまくいかない
  • ActionClass をつかう
  • ActionRole をつかう

Moose の Role を Action として定義して使えるよ。

モダンな Dispatcher

default :Private 使えなくなります。
default :Path これを使ってください。

  • Catch All マッチしなかったら全部とってくれる

最近追加された

$c->go
$c->visit

個人的には何に使うかわからない。

そのた

Catalyst に依存しすぎないようにね!
どうしても使いたければ ModelAdaptor を使いましょう。