Regenbogenjonny: php: Objekt als Instanzvariable?

Hallo,

Als OOP Einsteiger (php) habe ich eine Frage: Ich erzeuge in einer Methode meiner (Haupt-)Klasse ein Objekt einer anderen Klasse. Kann ich das komplette Objekt in einer Instanzvariablen meiner Hauptklasse ablegen und so in allen Methoden (meiner Hauptklasse) auf die Methoden und Instanzvariablen des "fremden" Objektes zugreifen?

Beispiel:

class bilder {
	public $myfile;
	public $pfad;
	public $dateiname;
	public $dateiendung;
        ...
        public $fremdobjekt;


    // Generate Image
    public function resize_image($file) {
            $this->myfile = $file;
            $im = new imagick ( $this->myfile );
            $this->fremdObjekt = $im;            #????????? Ist das möglich?
}

}  

Jonny

  1.         $this->fremdObjekt = $im;            #????????? Ist das möglich?
    

    Ich meinte natürlich:

             $this->fremdobjekt = $im;            #????????? Ist das möglich?
    

    Jonny

  2. Tach!

    Kann ich das komplette Objekt in einer Instanzvariablen meiner Hauptklasse ablegen und so in allen Methoden (meiner Hauptklasse) auf die Methoden und Instanzvariablen des "fremden" Objektes zugreifen?

    Was ergab dein Versuch? Und warum "komplettes Objekt"? Meinst du, man kann es teilen oder es kommt nur ein Teil davon da an, wo du es hinlegst? Objektvariablen verhalten sich auch nicht anders als andere Variablen bezüglich dessen, was man ihnen zuweisen kann.

    dedlfix.

    1. Tach!

      Hi,

      Was ergab dein Versuch?

      Ja, hat funktioniert.

      Und warum "komplettes Objekt"? Meinst du, man kann es teilen oder es kommt nur ein Teil davon da an, wo du es hinlegst?

      Nein, das war eher Umgangssprache.

      Objektvariablen verhalten sich auch nicht anders als andere Variablen bezüglich dessen, was man ihnen zuweisen kann.

      Danke.

      Jonny

  3. Hallo,

    Als OOP Einsteiger (php) habe ich eine Frage: Ich erzeuge in einer Methode meiner (Haupt-)Klasse ein Objekt einer anderen Klasse. Kann ich das komplette Objekt in einer Instanzvariablen meiner Hauptklasse ablegen und so in allen Methoden (meiner Hauptklasse) auf die Methoden und Instanzvariablen des "fremden" Objektes zugreifen?

    Wenns alle Methoden der eigenen Klasse betrifft, würde ich da eher über Vererbung nachdenken.

    MfG

    1. Tach!

      Kann ich das komplette Objekt in einer Instanzvariablen meiner Hauptklasse ablegen und so in allen Methoden (meiner Hauptklasse) auf die Methoden und Instanzvariablen des "fremden" Objektes zugreifen?

      Wenns alle Methoden der eigenen Klasse betrifft, würde ich da eher über Vererbung nachdenken.

      Ich nicht. Das alle etwas brauchen, ist kein geeignetes Kriterium für Vererbung. Wenn meine ganze Familie gern Brot ist, müssen wir noch lange keinen Bäcker in unserer Ahnengalerie haben. Es reicht, wenn wir alle auf einen Backwarenverkauf Zugriff haben.

      dedlfix.