Hi,
idealerweise hätte ich das, was in Perl mit tie() möglich ist, auch in PHP. Es wird eine Variable (array) an eine Klasse gebunden, fiktiver Code:
$cfg = array();
$tied = tie($cfg, 'CFG');$d = $cfg['default'];
/* hier soll über die Klasse eine Methode aufgerufen werden, welche auf den angeforderten index 'default' ein weiteres Array legt.
*/// Noticer: indefined Index
>
> Wie könnte ich solch ein Verhalten in PHP implementieren? Hat jemand einen Ansatz?
Ich würde versuchen, darauf zu verzichten. Es scheint mir, als ob dieser Ansatz ziemlich genau [Primitive Obsession](http://c2.com/cgi/wiki?PrimitiveObsession) entspricht: du verwendest einen array, obwohl deine Daten kein reiner Array sind sondern eine Sonderbedeutung haben (welches du durch das `tie()`{:.language-php} ausdrücken willst).
Ein IMHO(!) besserer Ansatz ist es, eine Konfigurationsklasse zu schreiben (ich nehme an, dass cfg für config stehen soll). Dort schreibst du dann deinen []-Operator (also eine Methode `get($key)`{:.language-php}, und darin kannst du dann jegliche Sonderbedeutung reinpacken, die du haben willst.
Bis die Tage,
Matti