mysqldumper
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 16.11.2005, 15:02   #31
TP-Veteran
 
Benutzerbild von alexf812
 
Registriert seit: Sep 2004
alexf812 macht alles soweit korrekt
muss mich erstmal in das ganze OOP reindenken.

aber vielleicht könntest du mir kurz nochmal helfen.
Der Ansatz is gut so, nur was ist, wenn jetzt noch eine klasse dazukommt? Wenn neben user und admin noch eine gruppe dazukommt, von denen sich der admin auch die daten ansehen möchte. wie kann man das nun machen?

achja und die funktion z.b. zum ändern von userdaten sollte die in die klasse admin rein oder eher in die klasse user?

Geändert von alexf812 (16.11.2005 um 15:11 Uhr).
alexf812 ist offline   Mit Zitat antworten


Alt 16.11.2005, 15:54   #32
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Zitat:
Zitat von alexf812
... nur was ist, wenn jetzt noch eine klasse dazukommt? Wenn neben user und admin noch eine gruppe dazukommt, von denen sich der admin auch die daten ansehen möchte. wie kann man das nun machen?
Das könnte man in diesem Fall besser mit einem Rangsystem lösen (wie in meinem Beispiel-Projekt). Die "Rang"-Klasse wird dann mit allen möglichen Methoden ausgestattet, die prüfen, ob ein bestimmter Vorgang mit dem entsprechenden "User"-Wert für den Rang möglich ist. Dann kannst du gleich bei der Benutzung gucken, ob der User1 etwas machen kann oder nicht:
PHP-Code:
$user1 = new User(4); // 4 steht für die ID
$user1_rang = new Rang($user1->id);

if (
$user1_rang->kann_email_verschicken())
    {
    
// Hier kann er
    
}
    else
        {
        
// Hier nicht
        

Zitat:
Zitat von alexf812
achja und die funktion z.b. zum ändern von userdaten sollte die in die klasse admin rein oder eher in die klasse user?
Ich würde dafür eine globale Funktion schreiben, die ein "User"-Objekt erwartet und auch ein neues "User"-Objekt zurückgibt. Eine Methode ist nicht wirklich schön in dem Fall (vrgl. meine Registrierungs-Funktion).
Strogij ist offline   Mit Zitat antworten
Alt 18.11.2005, 23:25   #33
TP-Member
 
Registriert seit: Jun 2005
freddymc macht alles soweit korrekt
Tach auch!

Ich finde die Idee mit diesem Workshop Klasse! *schenkelklopf*
Vielen Dank.

Solangsam komm' ich nämlich auch auf den Geschmack, gerade Rangsystem kommt bei mir auch noch.

Was mich allerdings (noch) verwirrt ist die Kommunikation zwischen den Klassen.
Fallbeispiel bei mir:

Ich habe eine kleine MySQL Klasse die Queries ausführt und ein paar Methoden mitbringt wie z.B. fetch() mit mysql_fetch_array() oder ne getError() Methode, das Übliche.
Nun will ich eine sessiongestützte LogIn Prozedur realisieren am besten OOP. Dabei müsste die Klasse 'user' zunächst einmal, bevor irgendwas in $_SESSION gespeichert wird, geguckt werden ob es den User überhaupt gibt, ob das Passwort stimmt.
Man fängt also an und schreibt die Methode check_user(), erwischt sich dann jedoch schnell wie man mysql_query() schreiben will...

Wie nutze ich dann die MySQL Klasse? Bringt ja nichts wenn ich in der User Klasse gar nicht darauf zugreifen kann...

Mir fehlt da noch der passende Denkanstoß.

regards,
Fred
freddymc ist offline   Mit Zitat antworten
Alt 19.11.2005, 01:26   #34
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Ich halte es für unnötig, dass die Klassen auf MySQL angewiesen sind. Deswegen halte ich sie flexibel, MySQL verarbeite ich ganz normal im Hauptscript und weise die Daten den Objekten wie "User" zu.
Strogij ist offline   Mit Zitat antworten
Alt 19.11.2005, 20:40   #35
TP-Member
 
Registriert seit: Jun 2005
freddymc macht alles soweit korrekt
Das heißt eine Methode die einfach einen SQL Query (z.B. um Passwort zu überprüfen) zurückliefert wäre dann das sinnigste?

also
$sql = $user->checkPw();
$query = new Query($sql);

oder bin ich einfach noch zu sehr in der prozedualen Denkweise verhaftet?

Geändert von freddymc (19.11.2005 um 20:42 Uhr).
freddymc ist offline   Mit Zitat antworten
Alt 20.11.2005, 00:17   #36
Guest
 
Registriert seit: Aug 2002
Strogij hilft, wo's gehtStrogij hilft, wo's geht
Nein, so würde ich es nicht machen. Verwende Methoden nur dann, wenn sie das Objekt betreffen. Eine Query zum Einloggen schreibt man doch nur einmal, eben beim Login. Wozu also eine Methode/Funktion alleine dafür schreiben? Benutze es etwa so:
PHP-Code:
$query $mysql->query('SELECT ... WHERE `user` = "'.$_POST['user'].'" AND `passwort` = "'.$_POST['passwort'].'"');

while (
$array mysql_fetch_array($query)) {
$user = new User($array['user'], $array['passwort']);
}

// Hier mit dem User-Objekt arbeiten 
Strogij ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Workshops und Tutorials
[Workshop] Mein erstes OOP-Projekt [Fortgeschrittene] [Workshop] Mein erstes OOP-Projekt
« Einführung in PHP-Templatesysteme mit der Engine SMARTY | [Tutorial] Erweiterte PHP-Techniken »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:00 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67