php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
Alt 05.04.2011, 22:08  
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

http://www.php.net/manual/en/functio...uments.default
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.04.2011, 22:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
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

Ich rede nicht von der Datenbankverbindung, sondern Aussagen wie diesen:

Zitat:
ob ich die Methode "neuenFreundHinzufuegen" (Daten von HTML-Formular sollen in die DB geschrieben werden)
Zitat:
Also das 1. der "Freund" in irgendeiner Freundestabelle steht
__________________
--
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   Mit Zitat antworten
Alt 06.04.2011, 11:57  
Benutzer
 
Registriert seit: 20.04.2009
Beiträge: 54
PHP-Kenntnisse:
Anfänger
Yanko befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von cocktailbar90 Beitrag anzeigen
@ChrisB: daran habe ich auch schon gedacht, aber so gesehen ist es doch dann egal, ob ich new Friend(243) oder new Friend() schreibe, weil die id sowieso jedesmal mit "null" überschrieben wird. Oder habe ich da einen Denkfehler?
Wenn du new Friend(243) schreibst, soll das Objekt die Daten des Freundes mit der ID 243 aus der DB holen. Wenn du new Friend() schreibst, werden keine Daten aus der DB geholt, sondern nur das Objekt initialisiert, das dann mit deinen Daten aus dem Formular gefüllt werden kann.

Wenn du also einen Freund anzeigen willst, holst du seine Daten mit new Friend($request->id) aus der Datenbank und gibst sie dann so aus:

PHP-Code:
<div>
    <h1><?php echo $friend->getName(); ?></h1>
    Und hier gibst du weitere Daten aus
</div>
Wenn du einen Freund erstellen willst, dann machste das so

PHP-Code:
$friend = new Freund(); // Diesmal ohne ID
$friend->setName($request->name);
// andere Daten setzen
$friend->insert(); // die Methode insert speichert alle Daten des Freundobjekts in einer neuen Spalte in der DB 
Ich hoffe du verstehst jetzt was ich damit meine
Yanko ist offline   Mit Zitat antworten
Alt 06.04.2011, 14:02  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.994
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:
Wenn du new Friend() schreibst, werden keine Daten aus der DB geholt, sondern nur das Objekt initialisiert, das dann mit deinen Daten aus dem Formular gefüllt werden kann.
Nennt sich auch Proxypattern. *) Damit könnte man bspw. aussagen: User xy hat soundso viele Freunde. Ist aber nicht wahnsinnig sinnvoll, wenn man ohnehin schon die Datenbank anschmeißt.

*) Nicht ganz exakt. Im Proxy-Pattern gäbe es noch ein umschließendes Platzhalterobjekt, das ggf. ein echtes Userobjekt nachlädt.
__________________
--
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   Mit Zitat antworten
Alt 06.04.2011, 14:43  
Erfahrener Benutzer
 
Benutzerbild von mermshaus
 
Registriert seit: 14.06.2009
Beiträge: 1.733
PHP-Kenntnisse:
Fortgeschritten
mermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz seinmermshaus kann auf vieles stolz sein
Standard

Ich würde gern noch mal eine Erklärung hören, wieso die Klasse „Freund“ heißt und nicht „User“ und was im Zweifel eine „Freund“-Instanz von einer „User“-Instanz unterscheidet.
__________________
Blog | Buch | Kaloa
mermshaus ist offline   Mit Zitat antworten
Alt 06.04.2011, 17:35  
Neuer Benutzer
 
Registriert seit: 05.03.2011
Beiträge: 16
PHP-Kenntnisse:
Fortgeschritten
laszlokorte befindet sich auf einem aufstrebenden Ast
Standard

Wenn man wirklich seine Freund-Klasse und eine User-Klasse haben will, dann wäre es am Sinnvollsten, dass der Freund ein Proxy oder eine Delegator ist, der noch ein User-Objekt beinhaltet und alles was mit dem User zu tun hat weiterleitet und dann noch zusätzliche Informationen wie "befreundet seit" oder "freundschaft bestätigt" anbietet.

Da ja schon klar zu sein scheint, dass es auch um die Speicherung in eine relationale DB geht, sollte man meiner Meinung nach an einen ORM-ähnlichen Ansatz denken, auch wenn du vielleicht für den Lernfaktor nicht direkt ein fertiges ORM einfach nur konfigurieren willst.

Dann hättest du nämlich so etwas:

class User
public function __construct($name)
public function getFriends()
public function addFriend($user)
public function isFriendOf($user)

class Friendship
static public function getFriendsOf($user1)
public function __construct($user1, $user2)
public function isConfirmed()
public function confirm()
public function getUser1()
public function getUser2()


in der Datenbank dann eine Tabelle:

users
id | name | email ....

friendships
id | user1_id | user2_id | confirmed

und eine solche Beziehung:

User <1-*> Frienship <1-*> User

Geändert von laszlokorte (06.04.2011 um 17:39 Uhr).
laszlokorte ist offline   Mit Zitat antworten
Alt 07.04.2011, 19:51  
Neuer Benutzer
 
Registriert seit: 04.04.2011
Beiträge: 5
PHP-Kenntnisse:
Anfänger
cocktailbar90 befindet sich auf einem aufstrebenden Ast
Standard

okey das ist mir jetzt schon klarer geworden ... das mit dem "default-Wert" im Konstruktor hab ich jetzt auch begriffen.

Danke
cocktailbar90 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
SOAP-Error bei einer einzigen Methode - Obwohl Response-Header 200 G.Schuster PHP-Fortgeschrittene 2 04.12.2010 11:53
array_walk(_recursive) mit geerbter Methode tr8000 PHP-Fortgeschrittene 5 03.08.2010 00:03
Inhalt / Ergebnis einer Methode in einer anderen Methode verwenden / ausführen litterauspirna PHP Tipps 2010 10 09.04.2010 14:58
Statische Methode bei Vererbter Klasse Puccini PHP-Fortgeschrittene 7 14.03.2010 20:39
Methode gibt keinen return netdirk PHP Tipps 2009 9 30.12.2009 17:01
[Erledigt] Datei in Methode includiert kein Zugriff auf $this ? serious-cool PHP Tipps 2009 18 27.12.2009 18:35
[Erledigt] Von wo wird Methode aufgerufen BlackWolf PHP Tipps 2008 2 16.11.2008 16:44
[Erledigt] OOP mit PHP 5, Methode kann nicht innerhalb der class ausgeführt werden dudi PHP Tipps 2008 6 04.07.2008 00:02
Ermitteln ob Methode geerbt wurde oder nicht? MaMo-Net PHP Tipps 2007 23 14.04.2007 00:28
Auf static Methode von variabler Klasse zugreifen Riks PHP Tipps 2007 11 16.03.2007 15:08
Methode als gz_handler? Andreas PHP-Fortgeschrittene 5 11.04.2006 14:14
[Erledigt] Rekursive Methode PHP-Fortgeschrittene 7 02.06.2005 15:09
PHP5: Klassenattribut für statische Methode, mit Vererbung PHP-Fortgeschrittene 9 24.05.2005 09:35
Methode aus einer anderen Methode aufrufen PHP Tipps 2005 3 02.03.2005 10:07
Methode kapseln PHP Tipps 2004 2 12.10.2004 10:53

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php im konstruktor methode

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