User since
2003-08-15
2653
Artikel
BenutzerIn
Ich sehe häufig folgende Konstellation:
$objekt->irgendwas;
Ich habe das nun wieder mal bei DBIx::Class gesehen. Dort gibt es keine Funktion namens "irgendwas".
Diese Methode dient ind er Regel dem Abgreifen irgendwelcher Daten die in irgendwas enthalten sind.
Wie nennt man sowas?
Das ist ein Methodenaufruf.
Die Methode könnte vererbt, oder in AUTOLOAD definiert worden sein.
MfG Horst
User since
2003-08-15
2653
Artikel
BenutzerIn
Ich glaube wir meinen nicht dasselbe:
angenommen ich gebe $objekt->param('test'); an das Objekt weiter.
Wie kann es sein, dass man danach $objekt->test abrufen kann?
Trotzdem ist es ein Methodenaufruf.
Die Methode test wird eben erstellt sobald du $o->param('test') aufgerufen hast.
Evtl. hat ja Class::Accessor::Grouped etwas damit zu tun...
MfG Horst
User since
2003-08-04
14371
Artikel
ModeratorIn
Richtig, mit Class::Accessor kannst Du solche Methoden "erstellen". Bei DBIx::Class wird für jede Spalte ein solcher Accessor erstellt.
User since
2003-08-15
2653
Artikel
BenutzerIn
ist das eigentlich empfehlenswert sowas zu verwenden?
Ich greife Werte aus $self meistens mit $objekt->get('test') ab. Aber Class::Accessor sieht cooler aus und macht den Code ordentlicher.
User since
2003-08-04
14371
Artikel
ModeratorIn
Ich finde es ziemlich gut, es so zu machen... Es spricht eigentlich nichts dagegen. Ich weiß allerdings nicht, ob das mit Sachen funktioniert, die z.B. irgendwelche Unicode-Zeichen haben - ich denke mal, dass das eher nicht funktioniert. Aber für "normale" Sachen ist es sehr gut.