WS 2022/2023 — 03/13 (27. Oktober 2022)
.html oder .htm<p>…</p><br/><br><a href="https://example.de">…</a>class="myclass"<input required><!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Dokumenttitel</title>
</head>
<body>
<!-- … -->
</body>
</html>
Hauptregionen eines Dokuments
<body>
<header> … </header>
<main> … </main>
<footer> … </footer>
</body>
Weitere Landmarks (Auszug):
<header> (optional): Einstiegsbereich eines Dokuments oder Abschnitts<main> (Pflicht): Hauptinhalt eines Dokuments<footer> (optional): Abschlussbereich eines Dokuments oder Abschnitts<nav> (optional): Abschnitt mit Navigation<aside> (optional): Ergänzende, nicht-essenzielle Informationen<section>: Abschnitt mit enthaltener Überschrift (»Kapitel«)<article>: In sich geschlossener Abschnitt, der auch außerhalb des Kontexts funktionieren würde»Block Level Elements«
»Inline Level Elements«
Immer nur Gewschwister vom selben Typ zulässig!
Blocks dürfen Inline-Elemente enthalten, nicht umgekehrt (Ausnahmen per CSS)
<h1> - <h6><p><form><div><strong> und <em><input type="text"><img src="…"><span>.css<style> … </style><link href="…" rel="stylesheet">Stylesheets enthalten beliebig viele »Rules«:
selector {
property: value;
}
Der Selector wählt HTML-Elemente aus, die beeinflusst werden sollen:
.myclass { … }[type=text] { … } oder [type] { … }p { … }#myelement { … }CSS-Regeln enthalten beliebig viele Eigenschaft-Werte-Paare, die die ausgewählten Elemente beeinflussen, z.B.:
.myclass {
color: red;
font-weight: bold;
}
PHP-Dokumentation: https://www.php.net/
Interaktives Tutorial: http://learn-php.org
.phpphp beispiel.php
<?php aktiviert den Interpreter: »Achtung, ab hier folgt Programmierung!«?> deaktiviert den Interpreter: »Ab hier bitte alles einfach ausgeben!«<p>
<?php echo "Hallo Welt!"; ?>
</p>
Wird zu:
<p>
Hallo Welt!
</p>
$, gefolgt von einem Variablennamen=$x = 1;
$y = 'Text';
$active = true;
TRUE / FALSE (Boolean)NULL+, -, *, /, %, **&, |, ^, ~, >>, <<==, ===, !=, !==, <, >, >=, <=.&& (UND), || (ODER)$x = 1;
$y = 2;
$sum = $x + $y;
echo $sum;
ergibt:
3
$name = 'Joschi';
echo 'Mein Name ist ' . $name;
echo "Mein Name ist $name";
ergibt beides:
Mein Name ist Joschi
Definition von Listen mit []
$obst = ['Apfel', 'Banane', 'Orange'];
$obst = [0 => 'Apfel', 1 => 'Banane', 2 => 'Orange'];
Zugriff auf Listenelemente mit [<schluessel>]:
$obst = ['Apfel', 'Banane', 'Orange'];
echo $obst[1];
ergibt:
Banane
Listen mit Zeichenketten als Schlüssel
$person = [
'vorname' => 'Joschi,
'nachname' => 'Kuphal,
];
echo 'Hallo ' . $person['vorname'] . ' ' . $person['nachname'];
ergibt:
Hallo Joschi Kuphal
->class Person {
public $vorname;
public $nachname;
public function __construct($vorname, $nachname) {
$this->vorname = $vorname;
$this->nachname = $nachname;
}
public function vollerName() {
return $this->vorname . ' ' . $this->nachname;
}
}
$joschi = new Person('Joschi', 'Kuphal');
echo $joschi->vorname;
echo $joschi->vollerName();
Joschi
Joschi Kuphal
Wenn … Dann (… Sonst)
if ($x == 1) {
// Code, der ausgeführt wird, wenn die Variable $x den Wert 1 hat
} else {
// Code, der in allen anderen Fällen ausgeführt wird
}
switch ($x) {
case 1:
// Code, der ausgeführt wird, wenn die Variable $x den Wert 1 hat
break;
case 2:
// Code, der ausgeführt wird, wenn die Variable $x den Wert 2 hat
break;
case 3:
// Code, der ausgeführt wird, wenn die Variable $x den Wert 3 hat
break;
default:
// Code, der in allen anderen Fällen ausgeführt wird
}
Z.B. Durchlaufen einer Liste von Werten
$obst = ['Apfel', 'Banane', 'Orange'];
foreach($obst as $frucht) {
echo $frucht . ' - ';
}
ergibt:
Apfel - Banane - Orange -
… oder Durchlaufen, so lange eine Bedingung erfüllt ist
$x = 0;
while ($x < 5) {
echo $x . ' - ';
$x = $x + 1;
}
ergibt:
0 - 1 - 2 - 3 - 4 -
Implizite Umwandlung von Datentypen
echo 1 + TRUE;
echo 2 . 'Bananen';
echo 0 == NULL;
echo 1 == '1';
echo 1 === '1';
ergibt:
2
2Bananen
TRUE
TRUE
FALSE