Folien



(letzte Synchronisation der PDF-Präsentation: 02.08.2017)

Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation

Funktionen sind eine Zusammenfassung von Programmcode, der über den Namen der Funktion aufgerufen werden kann.

Syntax:

PHP-Code
  function messageAusgeben() { echo "Hallo Welt!"; }  

Über den Programmcode

PHP-Code
  messageAusgeben();  

wird die Funktion aufgerufen und ausgeführt, sodass messageAusgeben() zur Ausgabe

Hallo Welt!

führt.

Werte an Funktionen übergeben

PHP-Code
  function addieren($a, $b) { $ergebnis = $a + $b; return $ergebnis; }  

In den runden Klammern können Parameter angegeben werden, die die Werte aufnehmen, die bei jedem Aufruf der Funktion mit übergeben werden sollen, also AN die Funktion, die daraus die entsprechenden Rückgabewerte berechnet. Diese Variablen stehen in der Funktion dann zur Verfügung. Beispiel:

PHP-Code
  addieren(2,6);  

führt dazu, dass in der Variable $ergebnis der Wert “8” gespeichert wird.

Rückgabewerte von Funktionen

Mit return können Funktionen direkt Rückgabewerte liefern, die nach dem Aufrufen der Funktion weiterverarbeitet werden können, z.B.

PHP-Code
  function addieren($a, $b) { $ergebnis = $a + $b; return $ergebnis; // oder: return $a + $b; }  

Der Aufruf der Funktion mit

PHP-Code
  $meinAdditionsErgebnis = addieren(2,6);  

ergibt als Ausgabe “8” ($a = 2, $b = 6, beide werden addiert). Die Variable $ergebnis muss nicht explizit benutzt werden.

Übungen

Alle Übungen finden Sie in der Materialsammlung (dort auch alle zusätzlichen Dateien wie Bilder, Klassendiagramme oder HTML-Vorlagen!).

Die aktuelle Übung können Sie hier als txt-File herunterladen.


***** Übungen: PHP - Funktionen *****

PHP_20-1: Einfache Funktion: Textausgabe


Schreiben Sie eine Funktion namens "ausgeben", die den Text "Ich wurde durch eine Funktion erzeugt." zurückgibt und fügen Sie sie an der angegebenen Stelle in den folgenden Code ein. Überprüfen Sie die Lauffähigkeit des Programms.

PHP-Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html> <head> <title>Funktion: Text ausgeben</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">   </head> <body> <p>Der folgende Text wird durch eine Funktion ausgegeben:</p>   <?php ausgeben(); ?> </body> </html>   <?php // HIER DIE FUNKTION DEFINIEREN ?>  





PHP_20-2: Listings interpretieren - einfache Funktion


Betrachten Sie die beiden folgenden Listings. Schreiben Sie auf ein Blatt Papier oder in ein Word-Dokument, wie die Ausgabe im Browser bei Interpretation der PHP-Anweisungen jeweils aussehen wird.



***************************************
Listing 1: Ohne Funktion
***************************************

PHP-Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html> <head> <title>Funktionen, v1: Multiplikation OHNE Funktion</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">   </head> <body> <h1>Zwei Zahlen multiplizieren</h1>   <?php $zahl1 = 20; $zahl2 = 40; ?>   <p>GEGEBEN: Zahl 1 sei <?php echo $zahl1; ?>, Zahl 2 sei <?php echo $zahl2; ?>.</p>   <p>Zahlen multiplizeren ...</p>   <?php // Zahlen multiplizieren $erg = $zahl1 * $zahl2; ?>   <p>Ergebnis $erg ausgeben: <?php // Ergebnis ausgeben echo $erg; ?> .</p>   </body>   </html>  

***************************************

Listing 2: Mit Funktion

***************************************

PHP-Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html> <head> <title>Funktionen, v1: Multiplikation MIT Funktion</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">   </head> <body> <h1>Zwei Zahlen multiplizieren</h1>   <?php $zahl1 = 20; $zahl2 = 40; ?>   <p>GEGEBEN: Zahl 1 sei <?php echo $zahl1; ?>, Zahl 2 sei <?php echo $zahl2; ?>.</p>   <p>Zahlen multiplizeren ...</p>   <?php // Funktion zum Multiplizieren der Zahlen aufrufen $erg = multiplizieren($zahl1, $zahl2); ?>   <p>Ergebnis $erg ausgeben: <?php // Ergebnis ausgeben echo $erg; ?> .</p> </body>   </html>   <?php // Funktionen   function multiplizieren($a, $b) { $ergebnis = $a * $b; return $ergebnis; }  




PHP_20-3: Lückenlisting mit zwei Funktionen


Mit dem folgenden Listing kann der/die User/in auswählen, ob zwei gegebene Zahlen addiert oder multipliziert werden sollen. Ergänzen Sie das Listing an den markierten Stellen und prüfen Sie seine Lauffähigkeit.



PHP-Code
<?php if (isset($_GET['submit'])) { $auswahl = $_GET['auswahl']; } else { $auswahl = ""; } ?>   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">   <html> <head> <title>Funktionen - Auswahl</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">   </head> <body> <h1>Zwei Zahlen multiplizieren oder addieren</h1> <?php $zahl1 = 20; $zahl2 = 40; ?>   <p>GEGEBEN: Zahl 1 sei <?php echo $zahl1; ?>, Zahl 2 sei <?php echo $zahl2; ?>.</p>   <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get"> <input type="radio" name="auswahl" value="multiplizieren" />multiplizieren oder <input type="radio" name="auswahl" value="addieren" />addieren. <input type="submit" value="auswahl treffen und ausführen" name="submit" /> </form>   <?php if ($auswahl == "multiplizieren") { $erg = _______________________; } elseif ($auswahl == "addieren") { $erg = __________________________; } else { $auswahl = "nichts"; $ergebnis = "nicht vorhanden"; }   echo "<p>Ihre Auswahl war " . $auswahl . "</p><p>Ihr Ergebnis: " . $erg . "</p>";   ?>   </body>   </html>   <?php function multiplizieren($a, $b) { ____________________; return $ergebnis; }   function addieren($a, $b) { _______________________; return $ergebnis; }   ?>  




PHP_20-4: Erweitern Sie das Listing von 20-3) um folgende Optionen (ebenfalls mit Radiobutton anwählbar):
1. Es soll der Text "Diese schöne Funktion" ausgegeben werden. Das Wort "schöne" soll zahl1 mal vorkommen (wenn zahl1 = 3, lautet der Text "Diese schöne schöne schöne Funktion")
2. Es soll zahl1 durch zahl2 und zahl2 durch zahl1 berechnet werden.





PHP_20-5: Einfache Funktion: Doppelte Textausgabe


1. Schreiben Sie zwei Funktionen, die jeweils einen unterschiedlichen Text in einer Variable speichern.
2. Lassen Sie beide Texte durch eine Leerzeile getrennt ausgeben.
3. Lassen Sie beide Texte durch ein Leerzeichen getrennt ausgeben.
4. Erzeugen Sie eine Funktion, die beide Texte durch einen Bindestrich getrennt in der Variable $gesamtText speichert.
5. Erzeugen Sie eine Funktion, die beide Texte durch einen Zeilenumbruch getrennt ausgibt.




PHP_20-6: FOR-Schleife in Funktion


Schreiben Sie eine Funktion "forschleife", die bei Aufruf von 1 bis 10 zählt und die Zahlen untereinander ausgibt.


* Tipp zur Umsetzung
Die Funktion berechnet keinen Rückgabewert, Sie brauchen also nicht die Anweisung return.




PHP_20-7: Taschenrechner

Erstellen Sie für die vier Grundrechenarten jeweils eine Funktion. Über ein Formular kann der User zwei Zahlen eingeben und eine Berechnungsform auswählen.

* Tipp zur Umsetzung
Für jede Grundrechenart erstellen Sie einen Absendebutton. Sie fragen ab, ob der Button einen Wert enthält, z.B. mit

PHP-Code
if(!empty($_POST['multiplizieren'])) { // mit Funktion Produkt errechnen }  




PHP_20-8: Erweiterter Taschenrechner

Erweitern Sie PHP_20-7 um weitere Rechenoperationen Ihrer Wahl. Ausführliche Referenz hier: http://de.php.net/manual/de/ref.math.php