php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.08.2010, 19:58  
Neuer Benutzer
 
Registriert seit: 18.08.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Lifestyle befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Filmdatenbank & PHP OOP

Hi,

ich habe vor eine bereits vorhandene Filmverwaltung neu aufzulegen. Bisher wurden nur rudimentär klassen genutzt. Nun wollte ich das abze von Grund auf neu aufziehen.
Hab mir meine UML Diagramme gemacht und die DB bereits designt. Nun frage ich mich folgendes:
Wenn ich ein Objekt Film habe, welches als Attribute eigentlich andere Klassen enthält (z.B. Schauspieler, Regisseure, usw.).
In meinem Beispiel sind Schauspieler und Regisseure eine extend von der Klasse Personen.

Nun muss ich ja irgendwie ich dem Objekt Filme alle Schauspieler speichern und diese noch gezielt adressieren können.

Wie gehe ich damit am besten um ? Collection gibt es meines Wissens ja nicht oder ?

Ein weiterer Punkt der mir noch nicht ganz klar betrifft die seiten übergreifende Verwendung von Klassen (Session)
Macht es Sinn das Objekt Filme komplett zu laden um eine Übersichtsliste anzuzeigen ?? Schließlich wird doch bim anklicken eines Links ein neuer Request erstellt und alle Variablen müssen neu Belegt werden oder etwa nicht ?
Oder sollte man einfach die Liste laden und sämtliche Objekte in einer Session abspeichern ?
Lifestyle ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.08.2010, 20:01  
Erfahrener Benutzer
 
Registriert seit: 26.10.2003
Beiträge: 592
Baltasar zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Film hat n-Schauspieler...also würde ich sagen (zumindest übertragen von meinen java-kenntnissen), dass film ein array "schauspieler" hat, das seinerseits wieder elemente vom typ schauspieler in sich trägt.
Baltasar ist offline  
Alt 18.08.2010, 20:01  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Lifestyle Beitrag anzeigen
Wie gehe ich damit am besten um ? Collection gibt es meines Wissens ja nicht oder ?
Es gibt aber bspw. Arrays.

Zitat:
Macht es Sinn das Objekt Filme komplett zu laden um eine Übersichtsliste anzuzeigen ??
K.A., wo von du jetzt redest.
Es gibt sicher eine Klasse Film, Singular - aber was ein „Objekt Filme“ sein soll, ist mir unklar.


Btw., könntest du das plenken bitte lassen? Danke.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 18.08.2010, 20:29  
Neuer Benutzer
 
Registriert seit: 18.08.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Lifestyle befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnellen Antworten. Das plenken kannte ich bisher nicht mal, aber ich gebe mir Mühe.

Dann nutze ich für Collections also Arrays. Wenn ich nun in einem Array ein Objekt direkt adressieren will, erstelle ich nicht Platzhalter zwischen den einzelnen Elementen?
Ein Beispiel wäre da Schauspieler A hat ID = 23034 und Schauspieler B 45729. Führt dieser Umstand nicht zu einem massiven Speicherverbrauch?

Zitat:
Zitat von ChrisB Beitrag anzeigen
Es gibt sicher eine Klasse Film, Singular - aber was ein „Objekt Filme“ sein soll, ist mir unklar.
Sicherlich wird es eine Klasse Film geben aus der mehrere Filmobjekte erzeugt werden, die in einem Array gehalten werden.

Bei einer Listenansicht gebe ich nun 30 Treffer aus. Macht es nun Sinn alle 30 Objekte zu laden (inklusive aller Attribute) und diese weiter zu geben? Schließlich wird nachdem ein Treffer angeklickt wurde alles verworfen.

Oder ist es sinnvoller nur ein Minimum an benötigten Infos für die Listenansicht bereit zu stellen.
Lifestyle ist offline  
Alt 18.08.2010, 20:37  
Erfahrener Benutzer
 
Registriert seit: 23.03.2010
Beiträge: 626
PHP-Kenntnisse:
Anfänger
ByStones befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Oder ist es sinnvoller nur ein Minimum an benötigten Infos für die Listenansicht bereit zu stellen.
Natürlich ist es nicht sinvoll alles zu laden wenn doch nur 3 Infos gebraucht werden !
__________________
Signatur:
PHP-Code:
$s '0048656c6c6f20576f726c64';
while(
$i=substr($s=substr($s,2),0,2))echo"&#x00$i;"
ByStones ist offline  
Alt 18.08.2010, 20:59  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Lifestyle Beitrag anzeigen
Ein Beispiel wäre da Schauspieler A hat ID = 23034 und Schauspieler B 45729. Führt dieser Umstand nicht zu einem massiven Speicherverbrauch?
Nein - Array-Schlüssel müssen nicht fortlaufend sein (und noch nicht mal nummerisch).

Da du von Collections sprichst, kommst du wohl aus einer anderen Sprach-Welt - deshalb würde ich dich bitten, dich erst mal ein bisschen mehr mit den Basics von PHP und seinen Datentypen zu beschäftigen, das sollte weitere Fragen dieser Art erübrigen.

Zitat:
Bei einer Listenansicht gebe ich nun 30 Treffer aus. Macht es nun Sinn alle 30 Objekte zu laden
Das kommt darauf an, wie du die Daten überhaupt speicherst.
Man speichert ja idR. keine Instanzen (geht sowieso nur über Serialisierung), sondern die Daten für sich, und erzeugt damit dann ggf. ein Objekt.

Wenn du jetzt nur bspw. Jahr und Titel für deine Anzeige brauchst - dann wäre es eher sinnfrei, auch noch den ganzen anderen Kram, den ein Film als Attribute hat, ebenfalls zu laden. Um nur Jahr und Titel anzuzeigen, muss man nicht mal ein Objekt anlegen - die kann man auch so aus der DB auslesen und anzeigen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 18.08.2010, 22:21  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 2.308
PHP-Kenntnisse:
Fortgeschritten
fab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblickfab ist ein Lichtblick
Standard

Zum Verständnis: Arrays, selbst numerisch indizierte, sind in PHP eigentlich Hashtables
fab ist offline  
Alt 18.08.2010, 23:01  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zum Verständnis: Arrays, selbst numerisch indizierte, sind in PHP eigentlich Hashtables
Das halte ich für diskussionswürdig (auch wenns hier dem Verständnis dient). Assoziative Arrays und numerische legen bei manchen PHP-FUnktionen durchaus verschiedene Verhalten an den Tag.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 18.08.2010, 23:28  
Neuer Benutzer
 
Registriert seit: 18.08.2010
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Lifestyle befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ByStones Beitrag anzeigen
Natürlich ist es nicht sinvoll alles zu laden wenn doch nur 3 Infos gebraucht werden !
Die eigentlich Frage kommt daher, dass ich persönlich in .NET dazu tendiere möglichst viel an Infos mitzuführen um die Datenbankabfragen später zu minimieren.


Zitat:
Zitat von ChrisB Beitrag anzeigen
Nein - Array-Schlüssel müssen nicht fortlaufend sein (und noch nicht mal nummerisch).

Da du von Collections sprichst, kommst du wohl aus einer anderen Sprach-Welt.
Ja ich habe damals zwar mit php angefangen, bin dann aber, bedingt durch die Firma, in Perl und .Net abgedriftet.



Zitat:
Zitat von ChrisB Beitrag anzeigen
Wenn du jetzt nur bspw. Jahr und Titel für deine Anzeige brauchst - dann wäre es eher sinnfrei, auch noch den ganzen anderen Kram, den ein Film als Attribute hat, ebenfalls zu laden. Um nur Jahr und Titel anzuzeigen, muss man nicht mal ein Objekt anlegen - die kann man auch so aus der DB auslesen und anzeigen.
Genau hier triffst du die Kernbedenken die ich zur Zeit habe. Ich werde nie, außer in der Detailansicht, alle Infos benötigen. Alles was an Methoden denkbar wäre ist ein Verleihvorgang, eine Bewertung, eine Reservierung, usw.

Genau das ist die eigentliche Kernproblematik. Macht OOP in diesem Fall Sinn?
Lifestyle ist offline  
Alt 18.08.2010, 23:33  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Lifestyle Beitrag anzeigen
Genau hier triffst du die Kernbedenken die ich zur Zeit habe. Ich werde nie, außer in der Detailansicht, alle Infos benötigen.
Na dann schreib dir deine Klasse doch so, dass sie auch nur mit diesen Kern-Informationen erstellt werden kann - der unwichtige Rest bleibt dann im Zweifelsfall leer bzw. uninitialisiert.


Oder erstelle dir eine Minimal-Klasse, die das hat, was zur Anzeige benötigt wird (Methoden und Eigenschaften).
Davon kannst du dann eine weitere, komplexere Klasse ableiten, die darüber hinaus gehende Features hat - bspw. Methoden zur Validierung der Daten vor dem Anlegen/Eintragen eines neuen Films.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
 


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
Einstieg in die OOP + Frage ob mein Gedankengang richtig ist Rikaan PHP Tipps 2010 5 19.04.2010 13:56
[Erledigt] Suche: OOP Code Jens P. Scriptbörse 9 24.03.2010 12:51
gleich oop lernen oder erst mal prozedural programmieren? Voltage PHP Tipps 2010 7 22.01.2010 16:46
Frage zu OOP Klassenplanung Yanko PHP Tipps 2010 3 21.01.2010 09:27
100% OOP wirklich sinnvoll ? Pehapeh PHP-Fortgeschrittene 31 04.12.2009 11:19
Was bringt OOP wenn Objekte nach jeder Seite sterben? majorbenks PHP Tipps 2009 9 18.11.2009 14:11
Eure Tipps/Hinweise/Empfehlungen zum Thema Modellierung und OOP ChillSn Off-Topic Diskussionen 1 30.09.2009 15:19
MVC mit OOP umsetzen Benjamin Such PHP Tipps 2009 3 17.08.2009 16:04
[Erledigt] OOP & PHP5 Buchempfehlung? boernard PHP Tipps 2009 2 26.02.2009 18:32
Einstieg in Objekt-orientierte-Programmierung (OOP) - Erste Versuche :-) echo PHP Tipps 2009 20 26.02.2009 11:08
Wer hilft mir bei OOP? echo Beitragsarchiv 27 23.02.2009 16:12
Einstieg in Objekt-orientierte-Programmierung (OOP) echo PHP Tipps 2009 50 17.02.2009 11:55
OOP verstanden? stayInside PHP Tipps 2009 4 24.01.2009 02:57
Buch für OOP homekiller PHP Tipps 2008 2 21.12.2008 16:54
MVC vs. herkömmliches OOP stayInside PHP Tipps 2008 5 26.11.2008 22:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php filmdatenbank, filmdatenbank php, php film datenbank, film datenbank php, filmdatenbank java, php oop datenbankverbindung, filmdatenbank modellieren, php oop datenbank, filmdatenbank in php, php oop listen, html filmdatenbank, http://www.php.de/php-einsteiger/70913-erledigt-filmdatenbank-php-oop.html, filmdatenbank uml, filmdatenbank software, filmdatenbank regisseure, was heißt oop bei filmen, java filmdatenbank, liste mit filmen oop, php oop liste aus db lesen, filmdatenbank in perl oder php

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:12 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