Thread dbix::class anfänger
(4 answers)
Opened by Gast at 2008-10-06 11:41
Ich würde das ungefähr so lösen:
Die Schemas sind nur für die Daten in der Datenbank da, nicht für das "Verhalten" eines Spielers. Eine Klasse Spieler, der den Spieler an sich realisiert. Diese Klasse hat die Methoden "run", "kick",... Wenn Daten wie "Anzahl Tore", "Name", "Verein" in der DB sind, dann werden die Attribute über die Schema-Klasse gesetzt. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 package YourApp::Spieler; use strict; use warnings; use My::DB; my $schema = My::DB->connect( ... ); sub new{ my ($class,$name) = @_; my $self = bless {}, $class; _init(); $self; } sub run { print "der Spieler rennt"; } sub kick { print "der Spieler passt zu einem Mitspieler"; if( $is_goal ){ my $info = $self->_info; $info->update( Anzahl_Tore => $info->Anzahl_Tore + 1 ); } } sub _info { my ($self) = @_; unless( $self->{info} ){ my $info = $schema->resultset( 'Spieler' )->search( Name => $name ); $self->{info} = $info; } $self->{info} } 1; DB und Controller sollten getrennt sein... OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/) -- Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html Perl-Entwicklung: http://perl-services.de/ |