首页 > 代码库 > 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 修饰器