首页 > 其他 > 详细

perl moose 修饰器

时间:2014-08-27 10:47:47      阅读:301      评论:0      收藏:0      [点我收藏+]

原理上就是在调用某个方法之前,先做一些事情,比如检查参数什么的,在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 修饰器

原文:http://www.cnblogs.com/huangv1/p/3938694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!