Sledge

Tomohiro IKEBE

株式会社ライブドア ネットサービス事業本部

Sledge とは

Sledge で出来る事/特徴

Sledgeのライフサイクル


変更可能なコンポーネント

Sledgeによるアプリケーション開発の開始

Hello World!(0)

package LLDN::Config::_common;
use strict;
use vars qw(%C);
*Config = \%C;

$C{TMPL_PATH}     = '/path/to/project/view';
$C{DATASOURCE}    = [ 'dbi:mysql:sledge','root', '' ];
$C{COOKIE_NAME}   = 'sledge_sid';
$C{COOKIE_PATH}   = '/';
$C{COOKIE_DOMAIN} = undef;

Hello World!(1)

package LLDN::Pages::Hello;
use strict;
use base qw(LLDN::Pages); # sledge-setup で生成されたクラスを継承

sub dispatch_index {
    my $self = shift;
    $self->tmpl->param(msg => 'Hello World!');
}

Hello World!(2)


<html>
<head>
<title>[% msg | html %]</title>
</head>
<body>
<h1>[% msg | html %]</h1>
</body>
</html>

Hello World!(3)


#!/usr/local/bin/perl
use strict;
use LLDN::Pages;

LLDN::Pages->new->dispatch('index');

Hookによる拡張(1)

Hookによる拡張(2)

package LLDN::Pages::Hook;
use strict;
use Sledge::Pages::Compat;

__PACKAGE__->register_hook(
    BEFORE_DISPATCH => sub {
        my $self = shift;
        my $member = $self->session->param('login_member');
        $self->tmpl->param(member => $member);
    },
);

Sledge の今後