Thread OOP, Parameter fuer Konstruktor pruefen
(9 answers)
Opened by styx-cc at 2007-12-14 15:55 Struppi+2007-12-15 13:03:54-- Ich bin eher dafuer, die Parameter im init ueberpruefen zu lassen. Man kann ja ein paar check-Methoden implementieren, die je nach verwendung die Parameter testen, und die aus dem init heraus aufgerufen werden. Den entsprechenden check sollte man zusaetzlich auch noch mal im connect ausfuehren. Und wenn man die DB aendert, braucht man nur die entsprechende check-Methode anpassen oder vielleicht erweitern, z.B. 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 sub check_mysql_params { my( $self ) = @_; foreach my $attr ( qw( db username pass ) ) { unless( defined $self->$attr ) { croak( "Error: attribute '$attr' not set" ); } } # eventuell hier noch den connect testen return $self; } # check_mysql_params sub init { my( $self, %params ) = @_; # parameter hier setzen my $driver = $self->driver || 'mysql'; my $checkDriverParamsMethod = "check_${driver}_params"; if( $self->can( $checkDriverParamsMethod ) { $self->$checkDriverParamsMethod; } else { croak "Error: no method '$checkDriverParamsMethod' existing"; } } # init oder so aehnlich. Wenn ein Script sehr lange laeuft (z.B. mehrere Stunden), dann ist es oft hilfreich, wenn alles so frueh wie moeglich ueberprueft werden kann. perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |