Leser: 19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
package MyModules::Test; use strict; use warnings; sub new { my $class = shift; my $self = {}; bless($self, $class); return $self; } sub farbe { my ($self, $farbe) = @_; $self->{FARBE} = $farbe if(defined $farbe); return $self->{FARBE}; } 1;
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/perl use strict; use warnings; use MyModules::Test; my $obj = MyModules::Test->new; my $farbe_1 = $obj->farbe('rot'); my $farbe_2 = $obj->farbe('blau'); print $farbe_2->farbe; print $farbe_1->farbe; $farbe_2->delete;
2010-02-19T14:29:42 Froschpopo
2010-02-19T14:29:42 FroschpopoAufruf:
Code (perl): (dl )1 2 3 4 5 6 7my $obj = MyModules::Test->new; my $farbe_1 = $obj->farbe('rot'); my $farbe_2 = $obj->farbe('blau'); print $farbe_2->farbe; print $farbe_1->farbe;
[...]
Ich möchte die Objekte in einer Variablen speichern können um später damit noch weitere Dinge tun zu können (z.B. delete() usw.).
1 2 3 4 5 6 7 8 9
my $obj = MyModules::Test->new; my $user_1 = $obj->select("SELECT * FROM user WHERE id = '3'"); my $user_2 = $obj->select("SELECT * FROM user WHERE id = '4'"); print $user_1->get; print $user_2->get; $user_2->delete; $user_1->sonstwas;
1
2
3
4
5
6
my $sth_1 = $dbh->prepare("...");
my $sth_2 = $dbh->prepare("...");
...
$sth_2->execute();
$sth_1->execute();
$sth_2->finish;
1
2
3
4
sub select {
my $self = shift;
return $self; # hier kommt das Objekt wieder zurück
}
1
2
3
4
sub get {
my $self = shift;
return $self->{wert_in_objekt}; # hier kommt nur ein wert, kein Objekt
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
package MyModules::Test; use base qw(Class::Accessor); use strict; use warnings; __PACKAGE__->mk_accessors(qw(farbe)); sub create { my $self = shift; my $args = shift || {}; $self->new($args); } 1;
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/perl use strict; use warnings; use MyModules::Test; my $obj = MyModules::Test->new; my $farbe_1 = $obj->create({farbe => 'rot'}); my $farbe_2 = $obj->create({farbe => 'blau'}); print $farbe_2->farbe; print $farbe_1->farbe;