首页 > 代码库 > perl moose 修饰器
perl moose 修饰器
原理上就是在调用某个方法之前,先做一些事情,比如检查参数什么的,在Dancer中也有这个关键字,可以在request到来的时候,通过检查
远程ip来判断是否是非法的ip请求
#!/usr/bin/perl
# file : before.pl
# date : 2014/08/26
# author : darkstar
#使用moose 定义一个类
package Person;
use Moose;
has ‘name‘ => (
is => ‘ro‘,
isa => ‘Str‘,
required => 1,
);
has ‘age‘ => (
is => ‘rw‘,
isa => ‘Int‘,
required => 1,
);
# 喝酒前检查年龄是否18 ,年龄检查的逻辑可以放在 drink_Brandy 里也行,这里是为了
# 体现before的功能
before ‘drink_Brandy‘ => sub {
my $self = shift;
if ($self->age > 18 ) {
print "you can drink Brandy!\n"
}
else {
print "get out boy!\n";
exit;
}
};
sub drink_Brandy {
print "Good!\n";
};
1;
use Person;
# 生成一个person对象,16岁
my $p1 = Person->new(name =>‘dark‘, age => 16);
print $p1->name, "\n";
print $p1->age, "\n";
$p1->drink_Brandy; #直接喝酒,before 替我们把关年龄,不满18就中断程序
# 程序输出如下:
dark
16
get out boy! # 小孩子 回家去!
perl moose 修饰器