Willkommen in der Webstatt Zum Webstatt Blog und Stories
Dustwolf Dustwolf am 11.07.07 21:25

Da ich derzeit viel beschäftigt bin, beschränke ich derzeit meine PHP-Tätigkeit auf das Überdenken meiner Objekte, die ich bereits geschrieben habe.

Bisher habe ich Referenzen benutzt, wenn ich Objekte in Objekten generiert habe und die Unterobjekte auf die Oberobjekte zugreifen sollten.

<?php

class main {
var $objekt;

function __construct(){
echo 'main<br />';
$this->objekt = new sub;
}
function bla(){
echo 'zugriff von sub klappt';
}
}

class sub {
function __construct(){
echo 'sub<br />';
}
function mainobjekt (){
// Wie machen?
}
}

$test = new main;

?>


Ich habe im echten Script mehrere "Subobjekte" und die sollen bequem aufeinander zugreifen können. Wie würdet ihr das lösen? (Steh vielleicht grad aufm Schlauch, aber mir fällt nichts besseres ein, als jedes Subobjekt auf das Mainobjekt zurück zu referenzieren und dann wieder das passende Subobjekt anzusprechen...

Kreative Ideen? :D

netcup.de Warum gibt es hier Werbung?
Snake am 11.07.07 21:42

also ich hab da immer ne globale klasse, die alle *wichtigen* objecte kennt.

siehe: Klassen Manager

CIX88 am 11.07.07 21:55

Quote
Wie würdet ihr das lösen?

Vererbung ?

Rebel4s Rebel4s am 11.07.07 22:04

Quote
Original von CIX88
[QUOTE]Wie würdet ihr das lösen?

Vererbung ?[/quote]

Und wie willste dann von der Mutterklasse auf die Tochterklasse zugreifen?

CIX88 am 11.07.07 22:24

Achsoooooo, ... ne mein erster Gedanke war etwas wie:
class main extends sub { ....

Dustwolf Dustwolf am 12.07.07 17:29

<?php
$db = F::GetDb();
?>


Aber greift er dann wirklich auf die Mainclass zu, oder auf irgendeine Funktion, die in F abgelegt ist? Weil es sollte natürlich schon so sein, dass er auf eine gezielte Methode eines einzelnen Objekts zugreift... Das Objekt soll ja zwischen den Zugriffen auch Daten merken und später weiterverwenden können.

hoffie hoffie am 12.07.07 20:18

Ist das Objekt, auf das du zugreifst, in der Anwendung einmalig? -> Singleton/Object Registry (ich bevorzuge letzteres). Ansonsten würd ich die Objekte direkt übergeben, nicht das ganze Main-Objekt. Das wird sonst sehr spannend für den GC und testbar ist das ganze auch nicht wirklich.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt