dedlfix: eigenen pseudo Datentyp definieren

Beitrag lesen

Tach!

Generell kann ich sagen, dass man ganz hervorragend Datentypen unter Verwendung von Klassen und deren Eigenschaften definieren kann. Dafür sind sie ja da, dass man Daten, die eine Einheit bilden, zu einem Gebilde zusammenfasst.

Ok, kannst du mir n beipsiel geben? Ich kann mir überhauptnix drunter vorstellen? [ 'foo', 'bar' ], o in etwa?

Nun, vielleicht denkst du nur zu kompliziert. Wenn die Datenbank-Klasse Zugangsdaten braucht, dann könntest du folgende Klasse erstellen:

class PdoServerDetails {
  public $dsn;
  public $username;
  public $password;
}

Fertig ist der Datentyp. Die Frage ist aber, ob sich das lohnt oder ob man nicht die drei Strings als Einzelwerte übergibt. In der Form hat das ja kaum Nutzen und nur etwas mehr Aufwand. Man könnte das jedoch sinnvoll erweitern, indem man von dieser Klasse den DSN-String aus gegebenen Einzelwerte zusammenbauen lässt.

Dazu kann man Namen nehmen, zum Beispiel die von Objekteigenschaften oder zur Not assoziative Array-Keys.

z.B.? Sorry, ich kann mir darunter nix vorstellen.

Es ist im Prinzip nur eine Geschmackssache, ob du eine Klasse wie oben erstellst, und eine Instanz davon übergeben haben möchtest, oder ob du stattdessen ein assoziatives Array nimmst, dass die Eigenschaften als Keys haben muss.

$pdoServerData = [
  'dsn' => ...,
  'username' => ...,
  'password' => ...
];

Wenn du sowas wie ein Dictionary meinst, dann ist das assoziative Array sozusagen das PHP-Pendant dazu.

Was ist in diesem Kontext ein Dictionary?

Ein Dictionary ist das, was man anderswo nehmen muss, wenn man kein assoziatives Array zur Verfügung hat. Oder anders ausgedrückt, eine Verwaltungseinheit für Key-Value-Paare.

dedlfix.