Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 06:58

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

Advertisement



Rückgabewerte einer Methode?

Discussion on Rückgabewerte einer Methode? within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Phillor's Avatar
 
elite*gold: 1
Join Date: Sep 2009
Posts: 462
Received Thanks: 125
Rückgabewerte einer Methode?

Hallo,

ich bin zurzeit noch ein ziemlicher Neuling im Bereich der objektorientierten Programmierung in PHP und habe mir um ein bisschen zu üben eine Userklasse geschrieben, die z.B. User in einer MySQL Datenbank registrieren und einloggen kann. Dazu habe ich jedoch eine Frage:

Unzwar habe ich das zurzeit so geregelt, dass wenn der User erfolgreich Registriert wurde, die register Methode 1, also true, zurückgibt. Vorher wird allerdings überprüft, ob der Nutzername oder die E-Mailadresse schon vergeben ist. Da ich dem Benutzer gerne aussagekräftige Meldungen zurückgeben möchte, gibt die Methode eine 0 zurück, wenn der Nutzername bereits vergeben ist und eine 2, wenn die E-Mailadresse bereits vergeben ist, um eben anhand der Nummern die jeweiligen Fehlermeldungen ausgeben zu können. Ist das so in Ordnung, oder gibt es da eine andere, bessere Lösung?
Da bin ich mir nämlich zurzeit ein wenig unsicher, ob man das so machen kann oder als unsauberer Programmierstil oder so ähnlich gilt. ^^

Gruß,
Phillor
Phillor is offline  
Old 03/26/2014, 09:12   #2
 
KoKsPfLaNzE's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 731
Received Thanks: 233
Du könntest einfach eine Exception werfen mit der du dann die Errors "ordentlich" zurück gibst, am besten gleich den richtigen Text oder bestimmte codes wie "username_exists".



Musst nur dran denken das du den Error auch mit einem Try and CatchBlock abfängst.
KoKsPfLaNzE is offline  
Old 03/26/2014, 11:40   #3
 
Phillor's Avatar
 
elite*gold: 1
Join Date: Sep 2009
Posts: 462
Received Thanks: 125
Ja, daran hatte ich auch schon gedacht, war mir aber nicht sicher, ob ich das bei solchen Fehlermeldungen auch so machen kann. Dachte das man Exceptions in PHP nur dann wirft, wenn eigene Semantik- oder Syntaxfehlermeldungen werfen möchte.
Phillor is offline  
Old 03/26/2014, 12:56   #4

 
xEncounter's Avatar
 
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
$connection = mysql_connect.....
if($connection) or die(mysql_error())
xEncounter is offline  
Old 03/26/2014, 14:04   #5
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
exceptions sind in der regel recht teuer, deshalb wirft man eine exception grundsätzlich immer dann wenn ein kritischer UND nicht behandelbarer fehler auftritt, weil alles andere kann man auch ohne exception behandeln

also bsp:

datenbankverbindung kann nicht hergestellt werden
-> exception werfen, komplett durchrauschen lassen oder auf untester ebene fangen und fehlerseite anzeigen

übergebener index ungültig (?page=1000),
username/pw falsch
-> keine exception, normal weitermachen und entsprechende meldung für den nutzer anzeigen
tolio is offline  
Old 03/26/2014, 17:41   #6
 
Phillor's Avatar
 
elite*gold: 1
Join Date: Sep 2009
Posts: 462
Received Thanks: 125
@ xEncounter
Schön und gut, nur arbeite ich damit nicht mehr. Bin schon etwas länger auf PDO umgestiegen.

@ tolio
Danke für den Tipp
Nur, ist das mit den Rückabewerten, wie ich im ersten Post beschrieben habe in Ordnung, oder gibts da gebräuchlichere Methoden, wie man sowas handhabt?
Phillor is offline  
Old 03/26/2014, 18:16   #7
 
tolio's Avatar
 
elite*gold: 2932
The Black Market: 169/1/0
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
ob du jetzt mit deiner methode zahlen zurückgibtst oder direkt die fehlermeldung oder fehlercodes oder sonst was, ist dir überlassen. oop soll die wartbarkeit und wiederverwendbarkeit unterstützen, also überlege einfach ob das in dein kozept passt
tolio is offline  
Old 03/26/2014, 18:21   #8
 
Phillor's Avatar
 
elite*gold: 1
Join Date: Sep 2009
Posts: 462
Received Thanks: 125
alles klar, vielen Dank
Phillor is offline  
Old 03/26/2014, 19:15   #9
 
KoKsPfLaNzE's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 731
Received Thanks: 233
ich mach das immer so das ich zuerst checke was hat der user eingegeben und wenn dies auch wirklich alles richtig ist werfe ich es in die db, sprich 2 methoden aufrufe in der action.

wobei der Userinput check mir ein array mit den errors zurueck gibt und die setUser method die erstellte UserId

der try and catch block macht aber sin, wenn es zu dem fall kommen sollte das zwischen check und insert auf einmal doch ein User mit dem Username vorhanden ist, klar das sind mehr rin theoretische fall aber man weis ja nie, abfangen sollte man es schon.
KoKsPfLaNzE is offline  
Old 03/27/2014, 08:14   #10
 
Phillor's Avatar
 
elite*gold: 1
Join Date: Sep 2009
Posts: 462
Received Thanks: 125
Okay, danke für eure Hilfe
Phillor is offline  
Reply


Similar Threads Similar Threads
Einfach yang machen mit einer methode die es hier noch nicht gibt
03/06/2012 - Metin2 Guides & Templates - 11 Replies
Hallo ich erkläre euch heute eine einfache Methode um an Yang zu gelangen. Dazu benötigt ihr keine Bots oder so. Ihr müsst nicht stundenlang irgendwelche Metins farmen wo einmal nach 20 Metins ein gutes fb raus kommt oder bei anderen Gamern gammeln. Also es funktioniert ganz einfach ihr erstellt euch einen Char. Völlig egal welcher geht mit jedem gleich finde ich. Ihr lvlt ihn auf 4 und nehmt die erste bio quest an. In dieser Quest müsst ihr Hungrige Alpha-Wölfe töten um an Pfirsichblüten zu...
Java Problem mit einer Methode
10/21/2011 - General Coding - 4 Replies
Hi, ich habe hier ein Problem mit der Methode umdrehen... sie funktioniert nicht und ich weiß nicht was man da noch machen könnte public class Zahlenarray { private int zahlen; public Zahlenarray() { zahlen = new int; for(int i = 0; i<5;i++) { zahlen = (int)(Math.random()*10+0);
[C#] Kurze Frage zum setzen einer Variabel in GetSet-Methode
06/25/2011 - .NET Languages - 0 Replies
Habe folgendes Problem: Ich möchte in meinen Programm gerne eine Importfunktion anbieten. Nachdem man einen Button klickt wird ein Fenster geöffnet. Dort wird der Text reinkopiert. Nach dem schließen wird der Text automatisch aufgeteilt und über die GetSet-Methoden an die Variabeln "weitergeleitet" Nun soll aber in der Set auch die Variable in einer Texbox ausgegeben werden. Sieht momentan so aus: (Bezeichnungen sind natürlich anders) public double GetSetVariable
[C#]Frage zum überschreiben einer Methode
12/01/2010 - .NET Languages - 5 Replies
Hallo Und wieder einmal stell ich ne frage... Momentan bin ich am C# lernen und da lief mir etwas über den Weg... Was ist der unterschied wenn ich von einer Untergeordneten Klasse mit public new <datentyp> <methodenname>(<parameter>) { } in einer übergeordneten Klasse, eine Methode überschreibe
[Suche]Nach einer funktionierenden,leichtverständlichen Methode Ca NA zu spielen
12/21/2009 - Combat Arms - 4 Replies
Hallo liebe Community. wie oben schon in der Überschrift beschreiben, suche ich eine funktionierenden und leichtverständlichen Methode Ca NA zu spielen. Habe leider selbst nichts gefunden deswegen wende ich mich an euch. Ich hoffe ihr könnt mir helfen mfg Strew



All times are GMT +2. The time now is 06:58.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.