Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Dezember

SELFHTML Forumsarchiv
Rückgabewerte von Funktionen

Informationsseite
  1. Seite (PHP) Rückgabewerte von Funktionen von Fabian St., 31. 12. 2004, 00:11
nach unten

Rückgabewerte von Funktionen

Die folgende Nachricht zum Thema stammt von: Fabian St., 31. 12. 2004, 00:11

Hi!

Eine Funktion sollte ja bekanntlich eigentlich immer etwas zurückliefern - sei es auch nur um das Debuggen zu erleichtern.

Nun bin ich bei einer Funktion zur Überprüfung von User-Eingaben auf die Frage gestoßen, wie man am geschicktesten eventuelle Fehler aber auch die Rückmeldung über die Richtigkeit der Eingaben zurückzuliefern kann.

Beispiel:

---------------------------------------------------------------------------
<?php

function check($ressource) # unsinnige Funktion zum Testen eines Stringes
{                          # auf eine vorgeschriebene Länge von 10 Zeichen
  $string = '';
  $flag = TRUE;
  if(strlen($ressource) < 10)
  {
     $string .= "<h1>Eingabe zu kurz</h1>\n";
     $flag = FALSE;
  }
  if($flag) return 1;     # Rückgabe: 1 (int) ==> alles OK!
  else return $string;    # Rückgabe: $string mit Fehlermeldung

}

?>

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">

<input type="text" size="20" name="text" />
<input type="submit" name="senden" value="Senden" />

</form>

<?php

if(isset($_POST['senden']))
{
  if(is_int(check($_POST['text']))) echo "<br />TRUE\n";
  else echo "<br />FALSE\n";
}

?>

---------------------------------------------------------------------------

Mir scheint dieser Weg über is_int() [zur Überprüfung auf den Rückgabewert 1 => alles OK]) etwas umständlich. Daher würde mich interessieren, wie ihr solche Unterscheidungen handhabt, wenn eine Funktionen entweder einen String oder einen Integer zurückgeben kann.

Grüße,
Fabian St.

--
Meine Website: http://fabis-site.net
--> XHTML, CSS, PHP-Formmailer, Linux
---------------------
fabi@erde ~# whatis spam
spam: nothing appropriate
---------------------
Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)

nach obennach unten

Rückgabewerte von Funktionen

Die folgende Nachricht zum Thema stammt von: XaraX, 31. 12. 2004, 01:05

Moin Fabian,


persönlich würde ich so vorgehen:
»» ---------------------------------------------------------------------------
»» <?php
»» function check($ressource) # unsinnige Funktion zum Testen eines Stringes
»» {                          # auf eine vorgeschriebene Länge von 10 Zeichen
    $string = false;
»»   if(strlen($ressource) < 10)
        $string = "<h1>Eingabe zu kurz</h1>\n";

     return $string;         # Rückgabe: $string mit Fehlermeldung
»» }
if($s=check($_POST['text'])
        {
        echo $string;
        abbruch();           # vielleicht auch die() oder exit()
        }


Gruß aus Berlin!
eddi

nach obennach unten

Rückgabewerte von Funktionen

Die folgende Nachricht zum Thema stammt von: XaraX, 31. 12. 2004, 01:06

In Berichtigung:

»» if($s=check($_POST['text'])
»»         {
           echo $s;
»»         abbruch();
»»         }

nach obennach unten

Rückgabewerte von Funktionen

Die folgende Nachricht zum Thema stammt von: Fabian St., 31. 12. 2004, 09:03

Hi XaraX!

»» persönlich würde ich so vorgehen:
»» »» ---------------------------------------------------------------------------
»» »» <?php
»» »» function check($ressource) # unsinnige Funktion zum Testen eines Stringes
»» »» {                          # auf eine vorgeschriebene Länge von 10 Zeichen
»»     $string = false;
»» »»   if(strlen($ressource) < 10){
»»         $string = "<h1>Eingabe zu kurz</h1>\n";
»»
»»      return $string;         # Rückgabe: $string mit Fehlermeldung
»» »» }
»» if($s=check($_POST['text'])
»»         {
           echo $s;
»»         abbruch();           # vielleicht auch die() oder exit()
»»         }


Vielen Dank für deine Verbesserungen! Auf diese Weise spare ich mir die Überprüfung auf Integer/String und außerdem brauche ich eine Variable weniger :-)


Grüße,
Fabian St.

--
Meine Website: http://fabis-site.net
--> XHTML, CSS, PHP-Formmailer, Linux
---------------------
fabi@erde ~# whatis spam
spam: nothing appropriate
---------------------
Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2004 Teil von Dezember

© 1998-2008 Seite Impressum, Software: Classic Forum