Fabian St.: HTML-Ausgabe einer PHP-Funktion

Hi!

Ich bin gerade bei den Verbesserungen meines Gästebuch Skriptes auf folgendes Problem gestoßen, von dem ich nicht genau weiß, wie man es lösen könnte:

Ich habe beispielsweise die PHP-Funktion check_input($a, $b) mit zwei Parametern a und b. Nun sollen diese untersucht, d.h. auf Länge, Validität, etc. geprüft werden. Wenn ein Fehler festgestellt wurde, wird er samt HTML-Code a la "<p class="fehler">blablub</p>\n" in die Variable $errormsg geschrieben, wobei diese Variable von der Funktion auch zurückgeliefert wird.
Der Aufruf der Funktion erolgt folgendermaßen:

$result = check_input($a, $b);
echo $result; // Ausgabe des Fehlers

Dies schaut mich irgendwie komisch an, wahrscheinlich weil ich es in bisher keinem anderem Skript gesehen habe. Gibt es denn keine andere Möglichekeit, den Ergebniswert einer Funktion ausgeben zu lassen?

Wie ich in einem von Toms Posting gelesen habe, soll eine Funktion ja keinen dirkete Ausgabe haben, d.h. man sollte so

function summe($a, $b)
{
  echo $a + $b; // nicht gut
}

nicht programmieren.

Wäre dankbar, wenn mich hierbei jemand aufklären könnte ;-)

Grüße,
Fabian St.

--
Endlich online: http://fabis-site.net
--> XHTML, CSS, PHP-Formmailer, Linux
Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
  1. Hallo Fabian,

    $result = check_input($a, $b);
    echo $result; // Ausgabe des Fehlers

    Dies schaut mich irgendwie komisch an, wahrscheinlich weil ich es in bisher keinem anderem Skript gesehen habe. Gibt es denn keine andere Möglichekeit, den Ergebniswert einer Funktion ausgeben zu lassen?

    Wie wäre es mit:

    echo check_input($a, $b);

    Freundliche Grüsse,

    Vinzenz

    1. Hi Vinzenz!

      Wie wäre es mit:

      echo check_input($a, $b);

      Ja, stimmt, die Möglichkeit habe ich glatt übersehen.

      Oft sieht man auch Konstruktionen, wie z.B. echo $a->$b oder echo $a->test(). Was wäre dann das? Sind das Zugriffe auf Objekte einer Klasse?

      Grüße,
      Fabian St.

      P.s. Weiß jemand vielleicht noch einige gute Seiten im I-Net zum Thema Grundlagen + weiterführende OO mit PHP oder speziell mit PHP5. Darüber hinaus würden mir Beipiele hierzu, mit deren Einsatzmöglichkeiten in der Praxis auch weiterhelfen.

      --
      Endlich online: http://fabis-site.net
      --> XHTML, CSS, PHP-Formmailer, Linux
      Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)
      1. Hallo Fabian,

        Oft sieht man auch Konstruktionen, wie z.B. echo $a->$b

        Es wird auf die Eigenschaft $b der Objektinstanz $a zugegriffen.

        oder echo $a->test(). Was wäre dann das? Sind das Zugriffe auf Objekte einer Klasse?

        Die Methode test() wird aufgerufen

        P.s. Weiß jemand vielleicht noch einige gute Seiten im I-Net zum Thema Grundlagen + weiterführende OO mit PHP oder speziell mit PHP5. Darüber hinaus würden mir Beipiele hierzu, mit deren Einsatzmöglichkeiten in der Praxis auch weiterhelfen.

        Hast Du schon mal das Handbuchkapitel OOP in PHP5 durchgelesen? Arbeite als Tutorial http://tut.php-q.net/klassen.html durch.

        Freundliche Grüsse,

        Vinzenz

        1. Hi Vinzenz!

          Hast Du schon mal das Handbuchkapitel OOP in PHP5 durchgelesen? Arbeite als Tutorial http://tut.php-q.net/klassen.html durch.

          Danke, die Dokus werde ich mal durcharbeiten...

          Grüße,
          Fabian St.

          --
          Endlich online: http://fabis-site.net
          --> XHTML, CSS, PHP-Formmailer, Linux
          Selfcode: ie:% fl:|  br:^ va:) ls:& fo:) rl:( n4:° ss:| de:> js:| ch:| mo:) zu:)