MichaelR: Class erzeugen

Beitrag lesen

Hallo,

in einem PHP-Script erzeuge ich eine Instanz einer Klasse, z. B.

class ObjectEins {
...
}

mittels $elm = new ObjectEins;

Die obige Klasse erzeugt ihrerseits wiederum eine neue Instanz einer anderen Klasse

class Subobject {
...
  function Sayhello(){
    print "hallo";
  }
}

in der Form:

class ObjectEins {
  var $obj;

function Neu(){
    $this->obj = new Subobject;
  }
...
}

Erstens würde mich mal interssieren ob es schlecht ist, KLassen in anderen Klassen zu erzeugen? (Falls ja, wäre das schlecht für mich, da ich mit dem jetzigen Aufbau meines php Scripts eine gute Übersicht hab;  ich könnte zwar die Subobject-Klasse in die Hauptklasse einbauen, da davon aber mehrere existieren würde die Übersicht schnell verloren gehen...).

Die zweite Frage: Wenn ich auf die Funktion des Subjobject zugreifen will

$elm->obj->Sayhello();

bekomme ich immer eine Fehlermeldung, dass die Funktion undefiniert sei und nicht gefunden werden könne ???

Um die Kuriosität zu vervollständigen: wenn ich über eine andere Funktion innerhalb von Subobject einfach nur Werte zuweise an dortige Variablen und dann mir mit print irgendwas ausgeben lasse, klappt das...

Man kann also sagen: wenn ich auf Funktionen der Subklasse zugreifen möchte, die mir praktisch etwas zurückgeben sollen, gibt's ne Fehlermeldung.

Sieht jemand vielleicht meinen Denkfehler? Oder sonstigen Fehler?

Danke + Grüße
Michael