Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 01:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



OOP - Klassen Bsp.: User

Discussion on OOP - Klassen Bsp.: User within the Web Development forum part of the Coders Den category.

Reply
 
Old 02/19/2016, 20:02   #16
 
elite*gold: 0
Join Date: Jul 2010
Posts: 283
Received Thanks: 16
Wie oben schon erwähnt benutzte ich kein Framework. Möchte dies eig auch noch vermeiden.
Masterkroko1 is offline  
Old 02/19/2016, 21:33   #17


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Fürs Exception fangen ->
False is offline  
Old 02/19/2016, 22:25   #18
 
elite*gold: 0
Join Date: Jul 2010
Posts: 283
Received Thanks: 16
Quote:
Originally Posted by .ƒaℓsє. View Post
Fürs Exception fangen ->
Dieser wird nur dafür verwendet um beim Programmieren sofort zu merken das man ein Catch Block vergessen hat? Oder übersehe ich da was?


Bin derzeit bei meiner Methode "updatePassword"
Nun frag ich mich ruf ich die Methode auf indem ich
$oUserDao->updatePassword("password", 23);
oder
$oUserDao->updatePassword($oUser);
aufrufe.

Natürlich würde dann im oUser das neue Passwort sowie die Id stehen. Derzeit ist das mitführen des Passwort im oUser noch nicht mal vorgesehen ich wüsste aber nicht was da gegen spricht bis auf ein bisschen Byte Verbrauchung.
Masterkroko1 is offline  
Old 02/19/2016, 22:40   #19


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Quote:
Originally Posted by Masterkroko1 View Post
Dieser wird nur dafür verwendet um beim Programmieren sofort zu merken das man ein Catch Block vergessen hat? Oder übersehe ich da was?


Bin derzeit bei meiner Methode "updatePassword"
Nun frag ich mich ruf ich die Methode auf indem ich
$oUserDao->updatePassword("password", 23);
oder
$oUserDao->updatePassword($oUser);
aufrufe.

Natürlich würde dann im oUser das neue Passwort sowie die Id stehen. Derzeit ist das mitführen des Passwort im oUser noch nicht mal vorgesehen ich wüsste aber nicht was da gegen spricht bis auf ein bisschen Byte Verbrauchung.
Damit bekommst du jede Exceptions mit und kannst diese weiter verweden, z.b. in eine Datenbank eintrage, per Mail verschicken oder auch einfach nur in eine Datei loggen.


$oUserDao->updatePassword($oUser);


wobei ich das kleine o am Anfang nicht raffe, genauso wie ich nicht DAO schreiben würde sondern Controller...
Wenn das o für Object steht ist es etwas sinn frei, oder schreibst du das bei Jeder Variable?
Also auch $iAge $sName $dBirthday ?
False is offline  
Old 02/19/2016, 22:55   #20
 
elite*gold: 0
Join Date: Jul 2010
Posts: 283
Received Thanks: 16
Quote:
Damit bekommst du jede Exceptions mit und kannst diese weiter verweden, z.b. in eine Datenbank eintrage, per Mail verschicken oder auch einfach nur in eine Datei loggen.
Werde ich mir merken. Die Exception Behandlung mach ich etwas später bis ich mehrere Methoden habe und ich ca. weiß was ich brauche.


Quote:
wobei ich das kleine o am Anfang nicht raffe, genauso wie ich nicht DAO schreiben würde sondern Controller...
Wenn das o für Object steht ist es etwas sinn frei, oder schreibst du das bei Jeder Variable?
Also auch $iAge $sName $dBirthday ?
Ja o steht nur für Object dies schreibe ich eig. bei jeder Variabel dazu. (Außer bei Statements und deren Verarbeitung siehe letzte Methode) Ich weiß in PHP braucht man darauf eig. nicht zu achten ich finde es aber Übersichtlicher. Spätestens wenn man sich den Code ein halbes Jahr später anschaut erleichtert dir das einiges.
Masterkroko1 is offline  
Old 02/20/2016, 00:53   #21


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Quote:
Originally Posted by Masterkroko1 View Post
Ja o steht nur für Object dies schreibe ich eig. bei jeder Variabel dazu. (Außer bei Statements und deren Verarbeitung siehe letzte Methode) Ich weiß in PHP braucht man darauf eig. nicht zu achten ich finde es aber Übersichtlicher. Spätestens wenn man sich den Code ein halbes Jahr später anschaut erleichtert dir das einiges.
Wenn du dein eigenen Code in einem halben Jahr nicht wieder erkennst, dann solltest du über die Art wie du dein Code schreibst nachdenken...Das "o" ist einfach nur nutzlos und für andere evtl. verwirrend ^^
False is offline  
Old 02/20/2016, 12:58   #22

 
Synatex's Avatar
 
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
Quote:
Originally Posted by .ƒaℓsє. View Post
Wenn du dein eigenen Code in einem halben Jahr nicht wieder erkennst, dann solltest du über die Art wie du dein Code schreibst nachdenken...Das "o" ist einfach nur nutzlos und für andere evtl. verwirrend ^^
Sorry aber das ist die dümmste Aussage die ich bis jetzt gehört habe. Schreib mal deine 20.000 Zeilen Code innerhalb von 3 Monaten, setz dich 3 Monate an ein anderes Projekt und komm wieder hin. Einerseits sagst du er soll seinen Code schreiben wie er will, andererseits soll er es nicht so machen.

Die ungarische Notation war (und ist bei einigen großen Firmen) noch immer Gang und Gebe. Es gab damals halt noch keine genauen Möglichkeiten Bezeichnungen einzufügen, wenn es für andere verwirrend ist dann einfach nur aus einem Grund: Sie haben nicht das nötige Wissen über eine der grundlegenden Notationen in der Programmierung und sollten darüber am besten auch nicht philosophieren
Synatex is offline  
Thanks
1 User
Old 02/20/2016, 17:11   #23
 
elite*gold: 0
Join Date: Jul 2010
Posts: 283
Received Thanks: 16
Ach den Schreibstil werde ich beibehalten. Hab damit bis jetzt nur Positive Erfahrung gehabt.
Das Thema ging je eh um den "richtigen" Aufbau der User-Verwaltung / -Klassen.

Ich hoffe jetzt mal das ich genügend Informationen habe um das nicht ganz zu versauen .
Masterkroko1 is offline  
Old 02/20/2016, 22:47   #24


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Quote:
Originally Posted by Synatex View Post
Sorry aber das ist die dümmste Aussage die ich bis jetzt gehört habe. Schreib mal deine 20.000 Zeilen Code innerhalb von 3 Monaten, setz dich 3 Monate an ein anderes Projekt und komm wieder hin. Einerseits sagst du er soll seinen Code schreiben wie er will, andererseits soll er es nicht so machen.

Die ungarische Notation war (und ist bei einigen großen Firmen) noch immer Gang und Gebe. Es gab damals halt noch keine genauen Möglichkeiten Bezeichnungen einzufügen, wenn es für andere verwirrend ist dann einfach nur aus einem Grund: Sie haben nicht das nötige Wissen über eine der grundlegenden Notationen in der Programmierung und sollten darüber am besten auch nicht philosophieren
Evtl. solltest du erst nach denken dann schreiben, den es macht sinn.
Er soll so schreiben wie er es mag, den ER muss den Code verstehen und wieder erkennen können.Ich sagte nicht das es ein fataler Fehler ist das er die ungarische Notation nutzt, ich sagte nur es KÖNNTE verwirrend für andere sein


Zudem wenn ich mir ein Codestyle festgelegt habe und eine Art vom Aufbau des Codes habe, kann ich den Code in 5 Jahren immer noch leicht verstehen.
Habe nicht gesagt das man ihn noch in und auswendig können muss und wissen muss das die Methode das macht und das in der Methode die Methode aufruft die XY macht.


Aber naja... das ist halt der Fluch des Internets, man hat keine Stimmlagen und kann daher viele Sachen missverstehen.
Aber sofort rumzuflamen...naja
False is offline  
Thanks
1 User
Old 02/22/2016, 14:26   #25
 
elite*gold: 0
Join Date: Feb 2016
Posts: 2
Received Thanks: 1
Quote:
Originally Posted by ~ JWonderpig ~ View Post
Wenn du nicht gerade mit einem Framework arbeitest, ist es dir eigentlich frei überlassen, wie du deine Klassen strukturieren willst. Vor deinem Problem stehen Viele, die gerade mit OOP anfangen. Das Prinzip von Gettern&Settern hast du ja anscheinend verstanden. Außerdem sei noch gesagt, dass du OOP und prozedurale Programmierung "mischen" kannst. Nun zu deinen Methoden: Deine Userklasse könnte z.B. so aussehen:

PHP Code:
class User
{
    private 
$db;
 
    function 
__construct($connection)
    {
      
$this->db $connection;
    }
 
    public function 
register(...)
    {
       
// Daten in Datenbank eintragen
    
}
 
   public function 
login($username,$password)
   {
       
// Mit Daten aus Datenbank vergleichen und ggf. die Session setzen mit z.B. der UserID
   
}
 
   public function 
hasValidLogin()
   {
      if(isset(
$_SESSION['user']))
      {
         return 
true;
      }
   }

   public function 
logout()
   {
        
session_destroy();
        unset(
$_SESSION['user']);
        return 
true;
   }


Deine index.php könnte z.B. so aussehen

PHP Code:
<?php

$connection 
= new mysqli(...);

$user = new User($connection);

if (
$user->hasValidLogin())
{
   
// User weiterleiten
}
es ist ihm zwar frei überlassen aber man sollte es wenn schon vernünftig machen

@TE: am besten liest du dir das generelle prinzip der objektorientierung durch: https://de.wikipedia.org/wiki/Objektorientierung
Remix v47 is offline  
Reply


Similar Threads Similar Threads
PHP & Klassen Login, User, Registrierung?
07/20/2014 - Web Development - 15 Replies
Ahoi Matrosen, ich mal fragen wie ihr die Bereiche Login, User, Registrierung zusammenführt / teilt. Habt ihr 1 große Klasse wo alles drin ist oder 3 Klassen in einem Login & Logout anderem die Registrierung dann noch die 3te Klasse (User) die die Daten aus der Datenbank beschafft? :confused: und welche Methoden würdet ihr eventuell in die verschiedene Klassen packen? Hab leider immer nur prozedural Programmiert und könnte auch dadrin die Themen schnell runter schreiben jedoch...
Welche Klassen kann man mit den Klassen von WoW vergleichen?
10/09/2011 - General Gaming Discussion - 30 Replies
Thema sagt eigentl. alles ;)
_TradEmArk_™ Public v.12.4 [*Weapon Binder,Kill User,Folow User,No Fog,Crosshair...*]
07/28/2011 - WarRock Hacks, Bots, Cheats & Exploits - 47 Replies
http://www.fotos-hochladen.net/uploads/nicesqnj9fr 42o.png Status: Undetected Download: http://uploaded.to/file/2i9yl1mv Virustotal: VirusTotal - Free Online Virus, Malware and URL Scanner



All times are GMT +1. The time now is 01:18.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.