Sebastian Janisch: variablen aus klasse A in klasse B benutzen

hallo zusammen,

ich habe 2 klassen... eine klasse bearbeitet language dateien, die andere template dateien... in der template klasse werden auch die templates mit den inhalten der language datei zusammengesetzt, nur muss ich dafür aus der template klasse auf die lang variable der language klasse zugreifen, und das ist mein problem...

ich könnte die language klasse vererben und dann die variable nutzen aber macht das wirklich sinn eine ganze klasse zu vererben für eine variable??

danke im voraus für hilfe :-)

  1. ich habe 2 klassen... eine klasse bearbeitet language dateien, die andere template dateien... in der template klasse werden auch die templates mit den inhalten der language datei zusammengesetzt, nur muss ich dafür aus der template klasse auf die lang variable der language klasse zugreifen, und das ist mein problem...

    Das liest sich nicht so gut, vielleicht mal ein wenig OOP-Philosophie tanken?
    http://de.wikipedia.org/wiki/Objektorientierte_Programmierung

  2. echo $begrüßung;

    ich könnte die language klasse vererben und dann die variable nutzen aber macht das wirklich sinn eine ganze klasse zu vererben für eine variable??

    Wenn ich dich richtig verstanden habe, speichert ein Objekt der Language-Klasse die aktuelle Sprache. Ansonsten holt sie für einen bestimmten Text die passende Übersetzung. Die aktuelle Sprache würde ich nicht als Eigenschaft der Language-Klasse ablegen, sondern einer ihrer Methoden bei deren Aufruf als Parameter übergeben. Die Sprachinformation benötigt man vielleicht auch noch für die Formatierund von Zahlen und Datum. Auch kann es vorkommen, dass man die Language-Klasse nach Texten in verschiedenen Sprachen befragt, und sei es nur für die Administrationsoberfläche, auf der alle/mehrere Sprachen gleichzeitig dargestellt werden. Wenn du trotzdem die Sprache in der Language-Klasse ablegen willst, schreib dir Zugriffsmethoden oder greife auf die Eigenschaft direkt zu.

    $language = new Language();
    echo $language->language;
    oder
    echo $language->getLanguage();

    echo "$verabschiedung $name";