zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP: Suche distributor für Objektinstanzen - keine doppelten Instanzen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #11 (permalink)  
Alt 14.09.2009, 22:33
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 29.07.2005
Beiträge: 1.073
xm22 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
In so einem Fall übergibt man üblicherweise Referenzen und keine Kopien. Mich würde wundern wenn es PHP nicht sowieso so macht.
@Protonenbeschl.: Ich glaube, wir reden aneinander vorbei. Wenn Du mit new eine neue Instanz von irgendetwas erzeugst, wird _immer_ ein neues Objekt und keine Referenz erzeugt. Deswegen gibt es ja das Singleton-Pattern.
__________________
... Meine Meinung
Mit Zitat antworten
Sponsored Links
  #12 (permalink)  
Alt 14.09.2009, 23:09
Benutzerbild von Pr0g
(^.^)
XHTMLforum-Mitglied
 
Registriert seit: 23.08.2005
Ort: Düsseldorf
Beiträge: 535
Pr0g wird schon bald berühmt werden
Standard

Doch ist schon ok so. Kleines Beispiel was es verdeutlicht
PHP-Code:
<?php

class user {
  var 
$name;
}

$a = new user;
$a->name 'Max';

$b $a;           // Eine Referenz zu $a wird an $b übergeben
$b->name 'Hans'// Im speicher wird intern auf $a zugegriffen

echo $a->name ' ' $b->name;

?>
Es wird zweimal Hans ausgegeben, da $b nur eine Referenz auf $a ist. Bei reinen Variablen wäre dies anders, dort muss man eine Referenzierung selbst übernehmen:

PHP-Code:
<?php

$a 
'Max';
$b = &$a;
$b 'Hans';

echo 
$a ' ' $b;

?>
__________________
Mit Zitat antworten
Sponsored Links
  #13 (permalink)  
Alt 14.09.2009, 23:18
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 24.09.2003
Beiträge: 243
braindead befindet sich auf einem aufstrebenden Ast
Standard

Ja wie gesagt, deshalb auch die kleine Code Ergänzung die ich im zweiten Post zu diesem Thread angegeben habe. Damit erreicht ich meiner Ansicht genau, das was ich will.
Mein User Objekt enthält allerdings doch die eine oder andere Merhode zur manipulation der Datenbank, ob das nun gut oder schlecht ist eine andere Frage, allerdings verwende ich eine Datenbank Klasse um die änderungen durchzuführen. Mir ging es jetzt um die Effizienz, wie gesagt ich will das Ganze nicht unnötig aufblähen und wollte daher fragen ob mein Ansatz ok ist. Also ich ich damit auf Probleme stoßen kann oder nicht und ob es noch einfacher geht oder nicht?
Die statische distributor Methode (ob der Name so sinnvoll ist ist eine andere Frage) soll eben ganau dafür sorgen das ich an die "Forumsbeitrags"-Objekte eben keine Redundanten User Objekte verteile bei ihrer Erzeugung.
Mit Zitat antworten
  #14 (permalink)  
Alt 15.09.2009, 09:53
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von xm22 Beitrag anzeigen
@Protonenbeschl.: Ich glaube, wir reden aneinander vorbei. Wenn Du mit new eine neue Instanz von irgendetwas erzeugst, wird _immer_ ein neues Objekt und keine Referenz erzeugt. Deswegen gibt es ja das Singleton-Pattern.
Ich hatte gar nicht auf dich geantwortet. Die Diskussion ist mir zu müßig. Für mich ist ein singleton eine einzige Instanz einer Klasse, wenn es je nach Zustand mehrere Instanzen gibt, ist es in meinen Augen kein singleton.

@braindead: So wie ich dich verstehe, sind es Daten, die zu einem Forumseintrag gehören. In so einem Fall ist redundanz eigentlich völlig normal. Wenn du aber aus den entsprechenden Daten ein komplexes Objekt gemacht hast, ist es vielleicht empfehlenswerter eine Listenklasse zu definieren, in der diese Daten ohne Redundanz vorgehalten werden.

Und natürlich ist es in der OOP so, dass du verschiedene Aufgaben in verschiedenen Klassen erledigst. Das ist das Prinzip der Objektorientierten Programmierung. Jedes Objekt hat eine - seine spezifische Aufgabe. Wenn ein Datenobjekt, Datenbankzugriffe oder Dateizugriffe macht, ist das keine Trennung im Sinne von OOP.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Suche PHP Gallery False Mirror Serveradministration und serverseitige Scripte 3 01.06.2010 22:13
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 19:09
Suche kleines PHP Upload Script. ConiKost (X)HTML 2 03.08.2006 10:43
Suche PHP Script für eine Bildergalerie claude Serveradministration und serverseitige Scripte 10 29.12.2005 00:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:46 Uhr.