Class::DBI和TT的演示页面

sql

CREATE TABLE `notes` (
`note_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255),
`message` TEXT,
`modify_time` timestamp NOT NULL,
`create_time` timestamp NOT NULL,
`creator` INTEGER UNSIGNED NOT NULL,
`private` TINYINT NOT NULL DEFAULT 0,
PRIMARY KEY(`note_id`)
)
ENGINE=MyISAM;


CREATE TABLE `users` (
`user_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`password` VARCHAR(255),
PRIMARY KEY(`user_id`)
)
ENGINE=MyISAM;


Note::DBI

  

Note::Constant;
base ;

= Note::Constant::DATABASE;
= Note::Constant::DB_USER;
= Note::Constant::DB_PWD;

__PACKAGE__->set_db(, , , );

;



Note::User

  

Class::DBI::Pager;

base ;

__PACKAGE__->table();
__PACKAGE__->columns(=> );
__PACKAGE__->columns(=> );

__PACKAGE__->has_many(=> , { => } );


Note::Note

  

;
EasyDateTime;
Class::DBI::Pager;

base ;

__PACKAGE__->table();
__PACKAGE__->columns(=> );
__PACKAGE__->columns(=> );

__PACKAGE__->has_a(=> );
__PACKAGE__->has_a(=> ,
=> ,
=>{->str()},
);

__PACKAGE__->set_sql(=> );

;


() = Note::User->search(=> );
->name;


= ->notes();


= Note::Note->search_like(=> );



->name();
->update();


Template (Template Toolkit)

 

GET



[% variable %]
[% hash.key %]
[% list.n %]
[% code(args) %]
[% obj.meth(args) %]
[% "value: $var" %]

SET



[% variable = other_variable
variable = 'literal text @ $100'
variable = "interpolated text: $var"
list = [ val, val, val, val, ... ]
list = [ val..val ]
hash = { var => val, var => val, ... }
%]

FOREACH



[% FOREACH variable = [ val, val, val ] %] # either
[% FOREACH variable = list %] # or
[% FOREACH list %] # or
content...
[% variable %]
[% END %]

WHILE



[% WHILE condition %]
content
[% END %]

IF...ELSE...



[% IF condition %]
content
[% ELSIF condition %]
content
[% ELSE %]
content
[% END %]

SWITCH



[% SWITCH variable %]
[% CASE val1 %]
content
[% CASE [ val2, val3 ] %]
content
[% CASE %] # or [% CASE DEFAULT %]
content
[% END %]


Class::DBI and Template

  

;
Template;
Note::DBI;
Note::Note;

= Note::Note->retrieve_all();
= Template();
->process(\*DATA, {=> });






Result:

Wu.Hao(2005-08-01 15:12) : test

Wu.hao(2005-08-01 15:13) : test2

Guest(2005-08-01 15:14) : testA

Guest(2005-08-01 15:15) : testB


Template and HTML::Template

  = [
{ => , => , => ,},
{ => , => , => ,}
];
Table 1













A Value B Value C Value
123
246


Template


Template;

= [
{ => , => , => ,},
{ => , => , => ,}
];

= Template();
->process(
\*DATA,
{
=> ,
}
)
->error;














HTML::Template


HTML::Template;

= [
{ => , => , => ,},
{ => , => , => ,}
];

= HTML::Template(=> *DATA);
->param(=> );
->output();













Table 2














A Value C Value B Value
132
264

Table 3











A Value C Value
13
26

Table 2

HTML::Template

 = [
{
=> [ { => , => }, { => , => }, { => , => } ]
},
{
=> [ { => , => }, { => , => }, { => , => } ]
},
];

Template


Template;

= [
{ => , => , => ,},
{ => , => , => ,}
];

= [];
= Template();
->process(
\*DATA,
{
=> ,
=> ,
=>{ []->{ [] } }
}
)
->error;























Table 3
   = [];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值