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. ^^
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.
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.
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
@ 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?
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
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.
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