***** Übungen: Dateien mit require/include einbinden *****
php_21-1) Was zeigt der Browser an?
Gegeben sei eine Datei "test.php" und eine Datei "include.txt":
test.php:
--- PHP-Code Start ---
Überschrift
Danke.";
?>
--- Code Ende ---
include.txt:
--- HTML-Code Start ---
Ich bin die include-Datei include.txt.
--- Code Ende ---
Was wird im Browser angezeigt?
@@@
php_21-2) Was zeigt der Browser an?
Gegeben sei eine Datei "test.php" und eine Datei "include.txt":
test.php:
--- PHP-Code Start ---
Überschrift
Danke.";
?>
--- Code Ende ---
include.txt:
--- HTML-Code Start ---
Ich bin die include-Datei include.txt.
--- Code Ende ---
Was wird im Browser angezeigt?
@@@
php_21-3) Was zeigt der Browser an?
Gegeben sei eine Datei "test.php" und eine Datei "include.php":
test.php:
--- PHP-Code Start ---
Überschrift
Danke.";
?>
--- Code Ende ---
include.php:
--- PHP-Code Start ---
";
} ?>
--- Code Ende ---
Was wird im Browser angezeigt?
@@@
php_21-4) Dateien auslagern
Gegeben sei folgendes Listing:
--- PHP-Code Start ---
";
for ($a=1;$a<=6;$a++)
{
echo $a . "." . $msg1;
}
// Anweisungsblock 1 Ende
break;
case 'Widder':
// Anweisungsblock 2 Start
echo "Sie sind ein Widder. Als Widder gefallen Ihnen die ungeraden Zahlen. Bitteschön:
";
for ($a=1;$a<100;$a=$a+2)
{
echo $a . " ";
}
// Anweisungsblock 2 Ende
break;
case 'Elefant':
// Anweisungsblock 3 Start
echo "Es gibt kein Sternzeichen \"Elefant\"!!!";
// Anweisungsblock 3 Ende
break;
default:
echo "Bitte geben Sie eines der vorgegebenen Sternzeichen ein.";
}
}
?>
--- Code Ende ---
Lagern Sie die drei Anweisungsblöcke in der switch-Verzweigung in drei verschiedene Dateien aus.
@@@
php_21-5) Klassen auslagern
Gegeben sei folgendes Listing:
--- PHP-Code Start ---
Startdatei
Hier findet Klassen-Action statt.
zufallszahl = rand(0, (count($this->sprueche) - 1));
echo "Ich bin der Konstruktor der Klasse etwasAusgeben.
Ich habe eine Zufallszahl gewuerfelt, naemlich " . $this->zufallszahl . "
";
}
// Methoden
public function getZufallszahl()
{
return $this->zufallszahl;
}
public function erzeugeZufaelligenSpruch()
{
return $this->sprueche[$this->zufallszahl];
// alternativ: return $this->sprueche[$this->getZufallszahl()];
}
public function spruchAusgeben()
{
echo $this->erzeugeZufaelligenSpruch();
}
}
class ueberschriftErzeugen
{
// Attribute
private $text;
private $zahl;
// Konstruktor
function __construct($eineZahl)
{
if($eineZahl<2)
{
exit("zahl muss 2 oder groesser sein");
}
else
{
$this->zahl = $eineZahl;
}
}
// Methoden
public function zahlenReiheErzeugen()
{
$ausgabe = '';
for($i=1;$i<=$this->zahl;$i++)
{
$ausgabe .= $i;
}
return $ausgabe;
}
public function ueberschriftKomplettErzeugen()
{
$ersterteil = "Zahlenkolonnenüberschrift Nummer ";
$zweiterteil = $this->zahlenReiheErzeugen();
return $ersterteil . $zweiterteil;
}
}
$spruchgenerator = new etwasAusgeben();
$spruchgenerator->spruchAusgeben();
echo "
";
$ueberschrift = new ueberschriftErzeugen(12);
echo "" . $ueberschrift->ueberschriftKomplettErzeugen() . "
"; ?>
--- Code Ende ---
a) Versuchen Sie zu verstehen, was das Skript macht.
b) Überprüfen Sie, ob das Skript funktioniert.
c) Lagern Sie die Klassen aus (zahlenreihe.class.php und spruch.class.php) und binden Sie sie mit require_once() ein. Überprüfen Sie, ob das Skript weiterhin läuft.