PHP-Funktionen Generell...

Hawkster

Erfahrenes Mitglied
Hi all,
habe mich heute etwas mit meinem Kumpel verkracht im bezug "Wie baut man PHP-Funktionen auf". Da keiner von uns beiden eine Patentlösung hatte, ging der Abend etwas in die Hose.

Daher würde ich mal gerne wissen wie Ihr funktionen aufbaut.
Ich zeig euch mal meine Variante und die Meines Kumpels.

Meine Variante
PHP:
<?
function blub ($p1) {
   if ($p1 == "") {
      return "001";
   }
   elseif (passtnochwasnet) {
      return "002";
   }
   else {
      return "100"; //Alles Roger
   }
}

$functionreturn = blub($irgendwas);
if ($functionreturn == "001") {
   echo "Steht nix drin";
}
elseif ($functionreturn == "002") {
   echo "Irgendein anderer Fehler";
}
elseif ($functionreturn == "100") {
   echo "Juhu, alles ok";
}
else {
   echo "Fu, das ist eine Unerwarteter Returncode gewesen";
}
?>
Vorteil ist bei der Variante, das ich Texte verändern kann ohne an der Funktion rumzuspielen und ich Funktionen direkt in neue Systeme übernehmen kann, da ich nur Meldenummern hab und keine Texte.


Meine Variante
PHP:
<?
function blub ($p1) {
   if ($p1 == "") {
      return "Steht nix drin";
   }
   elseif (passtnochwasnet) {
      return "Irgendein anderer Fehler";
   }
   else {
      return "t alles"; //Alles Roger
   }
}

echo blub($irgendwas);
?>


Erst richtig schlimm wurde es als er meinte ein Sprachsystem direkt in die Funktion zu schreiben =/

Würde mal gerne wissen wie Ihr sowas handhabt. Oder gibt es da eine Norm außer "True/False"?

MFG
Hawkster
 
Welche Variante ist denn nun Deine? Denn ueber beide hast Du "Meine Variante" geschrieben. :confused:

Ich geh jetzt mal davon aus, dass die obere Deine Fassung ist.
Der Vorteil dabei ist, wie Du schon sagst, dass die Funktion die gleichen Aufgaben erfuellen kann aber der auszugebende Text unabhaengig von dieser Funktion ist.
Man kann dann z.B. eine zweite Funktion nutzen die Statusnummern in Statusmeldungen umsetzt, was kein ungewoehnlicher Ansatz sein duerfte.

Wenn aber die Meldungen immer gleich sind, dann kann man diese natuerlich auch gleich in die Funktion aufnehmen. Warum unnoetigen Mehraufwand betreiben?

Aber wenn man eben auf austauschbare Meldungen fuer gleiche Ereignisse angewiesen ist, dann ist die obere Variante zu bevorzugen. Im Sinne der Internationalisierung von Ausgaben macht dies auch mehr Sinn, vorausgesetzt man arbeitet nicht mit GetText. ;)
 
Zurück