function ...()

Uffi

Gesperrt
hi leute.
Ja ich hab ein Tutorial, da blicke ich aber nicht ganz mit den Funktionen durch und dann noch dazu die Parameter.

Ja vielleicht könnte mir jemand das mit den fuktionen erklären (Aufrufen und Abfragen) und vielleicht bitte gleich mit den Parametern.


Danke im voraus!
 
so ganz versteh ich nicht, was bei functionen() so unverständlich ist ;) ..aber nun gut, ich versuchs mal..

Prologue;
mit functionen/klassen erspart man sich eine menge Arbeit, d.h man muss nich immer den selben code *x*mal schreiben sonder nur einmal.

Beispiel (ein Auszug meiner FormKlasse);

PHP:
class FormElements {
    var $name;
    var $value;
    var $action;
    var $method;
    var $cols;
    var $maxlength;
    var $rows;
    var $type;

 function form_start($action, $method, $name) {
        echo "<form action=\"$action\" method=\"$method\" name=\"$name\">\n";
    }
    function input($name,$type, $value, $size, $maxlength) {
        echo "<input type=\"$type\" size=\"$size\" maxlength=\"$maxlength\" name=\"$name\" value=\"$value\">\n";
    }
    function submit($name, $value) {
        echo "<input type=\"submit\" name=\"$name\" value=\"$value\">\n";
  }
    function form_end() {
        echo "</form>";
[.......]

aufgerufen wird das ganze dann in etwa so:
PHP:
  $F = new FormElements();
  $F-> form_start("form.php","POST","testForm");
  $F-> input("test2","password","test","50","40");
  $F-> br();
  $F-> textarea("test2","test","5","40");
  $F-> br();
  $F-> submit("submit","Save");
  $F-> form_end();

noch etwas unklar? =g= .. naja ich denke mal das man sich mit den o.g beispielen den rest ausmalen kann, oder?

my 2 Eurocents

Ps. okay. ich muss zugeben, die beispiele sind vielleicht etwas duerftig, deshalb hab ich mal einige links herausgesucht... sind leicht verstaendlich.

Link1
link2
 
Zuletzt bearbeitet:
Eine Funktion könnte man mit einem Baustein vergleichen, auf den man immer wieder zurückgreifen kann. Nehmen wir einmal an, Du möchtest ein mathematisches Programm schreiben in dem des öfteren auf eine bestimmte Zahl die 100 folgenden Zahlen aufaddiert werden müssen.

Jetzt hast Du die Möglichkeit den Quelltext jedesmal, wenn Du diese Funktionalität benötigst, neu zu schreiben oder einzufügen ... oder Du schreibst Dir eine Funktion:

Code:
function Add100($startzahl)
{
   $ergebnis = 0;

   for ($i = $startzahl; $i < $startzahl + 100; $i++)
   {
      $ergebnis += $i;
   }

   return $ergebnis;
}

Gleich mal eines vorweg: ich hab den Quelltext NICHT getestet, ich glaube aber, dass er funktionieren sollte. :)

Jedenfalls kannst Du nun "immer" auf diese Funktion Add100() zurückgreifen, wenn Du deren Funktionalität benötigst.
z.B.:

Code:
...
$test = Add100(220);
...

Dieser Abschnitt würde nun die oben erstellte Funktion aufrufen und als Parameter die Zahl 220 übergeben, mit der die Funktion dann rechnet. Wichtig ist, dass eine Funktion immer so viele Parameter aufnehmen kann, wie im Funktionsrumpf festgelegt wurden.
Die Funktion rechnet nun also fleissig auf die Zahl 220 die nächsten 100 folgenden Zahlen drauf und gibt mittels des Schlüsselworts return den Inhalt der Ergebnisvariable zurück.

Im zweiten Quelltextblock fangen wir den Rückgabewert der Funktion dann in der Variable $test auf. Damit können wir dann weiterarbeiten.

Sollte es jetzt immer noch nicht klar sein, was der Vorteil einer Funktion ist, dann sieh Dir mal diesen Quelltext an:

Code:
...
echo Add100(100);
echo Add100(229);
echo Add100(314);
echo Add100(12399);
echo Add100(1);
...

Jetzt sollts wohl klar sein. Einmal eine Funktion schreiben, zig Mal die Funktion benutzen, ohne sonst noch was programmieren zu müssen. Ganz wichtig ist auch die Wartbarkeit des Codes. Stell Dir vor die Funktionalität der Funktion soll sich ändern. Dann müsstest Du nur EINE Funktion an einer Stelle des Source Codes pfelgen, und nicht überall im Programm. :)

Hoffe ich konnte es erklären und weiterhelfen. :)
 
Ups, da waren wir wohl zu zweit zur selben Zeit am Werke ... aber na ja, ich lass meines auch stehen. Doppelt hält besser. *fg* :)
 
Zurück