dedlfix: Klassen und Arrays

Beitrag lesen

echo $begrüßung;

$classname = new test;
echo classname->db_tab[1];
Wenn ich das nun ausführe bekomme ich nur einen leeren String zurückgeliefert.
Was mache ich falsch?

Du investierst einen $ zu wenig, du verwendest das alte Klassendesign von PHP 4, und das error_reporting steht vermutlich auch nicht auf E_ALL (und/oder display_errors nicht auf on).

Mit OOP unter PHP 5 könntest du Klassenkonstanten verwenden, wenn es sich um fest definierte Werte handelt. Ansonsten wäre vielleicht das Singleton-Pattern angebracht, um mehrfache Instanzen der Klasse zu verhindern. Allerdings sollte die statische Methode, die sonst die Instanz zurückgibt gleich so geschrieben werden, dass sie den gewünschten Konfigurationswert liefert.

Zusätzlich zu E_ALL für das error_reporting solltest du noch E_STRICT aktivieren, damit du die alten PHP-4-OOP-Sünden angezeigt bekommst.

echo "$verabschiedung $name";