php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2011, 11:52  
Neuer Benutzer
 
Registriert seit: 25.08.2011
Beiträge: 1
PHP-Kenntnisse:
Fortgeschritten
pikachu befindet sich auf einem aufstrebenden Ast
Standard Klassendesign/Klassenobjekt an andere Klasse übergeben

Zuerstmal hallo an die forums-community.

Meine OOP-Kenntnisse sind leider schon etwas eingerostet, und ich werde das Gefühl nicht los, das ich einen komplett falschen Lösungsansatz verwende. Ich hab zu diesem Thema schon einige Threads gefunden, die mir auch schon etwas weiter geholfen haben, aber so ganz sicher bin ich mir nicht. Sollte das Problem zu grundlegend sein, bin ich über Links zu entsprechenden Tutorials bzw. Buchtipps dankbar.

Ich werde mein Problem vorerstmal abstrakt und ohne Klassendefinitionen beschreiben, da ich wie gesagt die Befürchtung habe, dass das Design von Grund auf falsch ist:

Ich habe eine Klasse Clipping die mir aus der Datenbank Zeitungsartikel holt.
Die Klasse HTML ist für die Anzeige dieser Zeitungsartikel zuständig.
Die Klasse User stellt die Login-Logik zur Verfügung, und speichert Einstellungen des Benutzers (zB das der User die Schlagzeile und den Namen der Zeitung angezeigt haben will, aber nicht das Datum an dem sie erschienen ist).

Die Klasse HTML benötigt nun zur Anzeige die Daten des Objekts der Klasse Clipping und ebenso die Daten des Objekts der Klasse User.
Meine Frage ist nun, wie stelle ich das an. Übergebe ich einfach an die Klasse HTML die Objekte der Klassen User und Clipping oder gibt es da eine sauberere Lösung, bzw. ist meine Klassenkonzeption vielleicht völlig falsch?
pikachu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.08.2011, 12:17  
Erfahrener Benutzer
 
Benutzerbild von Dark Guardian
 
Registriert seit: 10.10.2009
Beiträge: 2.631
PHP-Kenntnisse:
Fortgeschritten
Dark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekanntDark Guardian ist jedem bekannt
Standard

Schau dir mal das MVC Pattern an.

Das klingt schon sehr danach als würdest du das suchen.

Sehr einfach formuliert:

M (deine User und Clipping Klassen, teilweiße): "Model" Ist das Datenmodel. Diese Klassen stellen nichts wieter zur Verfügung als die Haltung der Daten und Routinen zum lesen/schreiben.
C (ggf. Logik die in deiner Userklasse steckt): Ist der Controller, dieser übernimmt die Verarbeitungslogik. Z.B. hole aus dem Model 10 Newseinträge, gebe diese an die View zur Ausgabe, und wnen ein Paremeter Page gesetzt ist hole die nächsten 10 und übergebe diese an die View.
V (deine HTML Klasse): View, dient der Ausgabe. Alle benötigten Variablen werden vom Controller zugewiesen. Verarbeitung hat hier nichts mehr zu suchen weil die Daten für eine Ausgabe bereits ausreichend aufbereitet wordens ein sollten.
__________________
"Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".
Dark Guardian ist offline   Mit Zitat antworten
Alt 29.08.2011, 19:37  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von pikachu Beitrag anzeigen
Zuerstmal hallo an die forums-community.

Meine OOP-Kenntnisse sind leider schon etwas eingerostet, und ich werde das Gefühl nicht los, das ich einen komplett falschen Lösungsansatz verwende. Ich hab zu diesem Thema schon einige Threads gefunden, die mir auch schon etwas weiter geholfen haben, aber so ganz sicher bin ich mir nicht. Sollte das Problem zu grundlegend sein, bin ich über Links zu entsprechenden Tutorials bzw. Buchtipps dankbar.

Ich werde mein Problem vorerstmal abstrakt und ohne Klassendefinitionen beschreiben, da ich wie gesagt die Befürchtung habe, dass das Design von Grund auf falsch ist:

Ich habe eine Klasse Clipping die mir aus der Datenbank Zeitungsartikel holt.
Die Klasse HTML ist für die Anzeige dieser Zeitungsartikel zuständig.
Die Klasse User stellt die Login-Logik zur Verfügung, und speichert Einstellungen des Benutzers (zB das der User die Schlagzeile und den Namen der Zeitung angezeigt haben will, aber nicht das Datum an dem sie erschienen ist).

Die Klasse HTML benötigt nun zur Anzeige die Daten des Objekts der Klasse Clipping und ebenso die Daten des Objekts der Klasse User.
Meine Frage ist nun, wie stelle ich das an. Übergebe ich einfach an die Klasse HTML die Objekte der Klassen User und Clipping oder gibt es da eine sauberere Lösung, bzw. ist meine Klassenkonzeption vielleicht völlig falsch?
Hallo,

nunja in wie weit hattest du denn OOP Kenntnisse? Das kann ja keiner wissen.
Aber nachdem wie du das da schreibst klingt das alles ganz schön wirr und wild durcheinander gewirbelt. DarkGuardian hat da schon einen richtigen Ansatz geliefert, wobei ich die Aussage das im Model nur Daten lese und Schreibroutinen zu suchen haben für nicht ganz so korrekt halte. Aber das sind wieder MVC Auslegungssachen wo wir in der Firma auch schon diskutiert haben, da haben auch einige unterschiedliche ANsichten. Man kann durchaus auch z.B. eine Helper Klasse haben die z.B. Plausibilitätsprüfungen beinhalten und diese im Model unterbringen. Auch Prüfungen wie wurde der Datensatz erfolgreich eingefügt kann man im Model unterbringen.
Aber im Grundgedanken musst du dir Gedanken machen wo kommen die Daten her (lesen), wo sollen die Daten hin (schreiben), das sind auf alle Fälle die Sachen die ins Model gehören.
Prüfroutinen die z.B. auf Länge eines Strings oder vorhanden sein eines Wertes oder korrekte Datumsformatierung zurückgreifen kannst du z.B. in eigene Helper oder Validator Klassen schreiben und dann in den Controllern einsetzen.
Grundlegend dient der Controller aber als Vermittlungseinheit zwischen Model und View und es sollten möglichst Model und View nicht miteinander in Berührung kommen.

So mit hast du eine saubere Trennung deiner Datenbeschaffung, Datenverarbeitung und Datenpräsentation.

Ich hoffe ich konnte dir auch ein klein wenig weiter helfen.

Gruß der Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Objekt an Konstruktor übergeben hawkeye78 PHP Tipps 2009 7 28.02.2009 19:01
[Erledigt] Variablen in andere Dateien übergeben Nobs PHP Tipps 2009 12 12.02.2009 09:15
Zugriff auf aufrufende Klasse BlackWolf PHP Tipps 2008 17 04.12.2008 18:12
Funktionswert an andere Funktion übergeben Lightware PHP Tipps 2008 7 03.09.2008 13:46
Wert einer Funktion an andere Funktion übergeben Secondary PHP Tipps 2008 14 27.08.2008 10:36
klasse mit session übergeben ;) fragnicht PHP-Fortgeschrittene 7 22.08.2007 11:57
Klasenname einer nicht instanziierten Klasse DerDesian PHP Tipps 2007 9 30.11.2005 13:13
Instanz einer Klasse in einer anderen Klasse verwenden Buhmann PHP-Fortgeschrittene 7 28.10.2005 23:12
Variablen an andere Seite übergeben?! PHP Tipps 2005-2 3 12.08.2005 03:57
Session auf andere Domain übergeben? PHP Tipps 2005-2 10 17.06.2005 09:09
String von einer php seite an eine andere übergeben PHP Tipps 2005 4 01.06.2005 11:55
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Klasse ändern UniQ PHP Tipps 2004 5 24.08.2004 14:46
Werte auf andere Seite übergeben themonk PHP Tipps 2004 2 29.06.2004 21:04
Variable über eine Seite an andere übergeben? PHP Tipps 2004 12 10.06.2004 11:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
objekte an klassen übergeben und verarbeiten php, instanz von klasse übergeben, modell klasse objekt, objekt an andere klasse übergeben, objekt einer klasse in anderes objekt übergeben, klasse als object an andere klasse übergeben, klassen = übergeben php, php eigene klasse übergeben, string einer klasse an eine andere übergeben php, objekt einer klasse an andere klasse übergeben, php daten von eine klasse in die andere übergeben, php aktuelle klasse in eine andere übergeben, objekte von klasse zu klasse übergeben, werte von einer klasse in andre übergeben php, objekt von der einen klasse in eine andere klasse übergeben, objekte andere klasse übergeben php, werte von einer klasse in eine andere klasse übergeben php, model an klasse übergeben

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum