Markus: Kleine Klassenfrage

Hi,

ich habe mehre Klassen von dennen ich je nur ein Objekt benötige. Die Klassen sind in extra Dateien gespeichert und werden mit require_once eingebunden. Da ich nicht soviel Erfahrung habe wollte ich fragen ob es ok ist diesen eine benötigte Objekt schon in der Datei von der Klasse erzeuge, also:
Class irgendwas{
.
.
.}
test=new class irgendwas();

oder sollte ich das erst in den Datei machen wo ich sie einbinde.

Gruß

Markus

  1. Hallo Markus,

    test=new class irgendwas();

    Das funktioniert zwar, geht aber am Sinn von Klassen vorbei, also erst einbinden, dann das Objekt erstellen.

    Gruß,

    Dieter

  2. echo $begrüßung;

    ich habe mehre Klassen von dennen ich je nur ein Objekt benötige. [...] ob es ok ist diesen eine benötigte Objekt schon in der Datei von der Klasse erzeuge, [...]

    PHP ist es egal, wie du deine Klassen in Dateien aufteilst und wo welche Variablen erzeugt werden. Solange du die Übersicht nicht verlierst...

    Allerdings hört es sich so an, als ob du die Objekte auf Vorrat anlegst und sie dann verwendest, wenn du ein Methode davon benötigst. Vielleicht sorgst du sogar mit global ... bzw. $GLOBALS[...] innerhalb anderer Funktionen dafür, dass diese Variablen sichtbar werden.
    Du hast ja schon das Singleton-Muster kennengelernt. Dieses ist dafür vorgesehen, bei Bedarf die eine Klassen-Instanz dorthin zu liefern wo du sie brauchst. Das ist eleganter, als die Existenz von Variablen vorauszusetzen.

    Wenn du Funktionen zu einer Klasse zusammengefasst hast, die aber eigentlich autark sind - sprich ohne $this-> auskommen - dann kannst du diese Methoden auch statisch aufrufen, ohne extra eine Instanz der Klasse anzulegen: KlassenName::Methode(...);

    echo "$verabschiedung $name";