PHP Schulungs Skript

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Install

Grundlegendes

  • PHP steht für "Hypertext Preprocessor".
  • Ein wichtiger Mitgründer dieser Sprache war Rasmus Lerdorf.
  • Die Syntax ist an die Sprachen C und Perl angelehnt.
  • PHP wird hauptsächlich für die Erstellung von dynamischen Webseiten oder Webanwendungen verwendet.
  • PHP zeichnet sich durch große Datenbankunterstützung, Internet-Protokolleinbindungen und Verfügbarkeit vieler verschiedener Funktionsbibliotheken aus.
  • PHP kann verschiedene Dateitypen wie Grafiken oder PDF-Dokumente erzeugen.

Der Anfang: "Hallo Welt!"

PHP-Code steht immer zwischen <?php und ?>. Dieser Bereich bildet den Rahmen.

<?php

?>

Der Befehl echo gibt Texte aus, die in Anführungszeichen dahinter geschrieben sind.
Befehle werden immer mit einem Semikolon ( ; ) abgeschlossen.

<?php
echo "Hallo Welt\n";
?>

Sonderzeichen maskieren

Um Anführungszeichen oder andere Sonderzeichen auszugeben, müssen sie maskiert werden.

<?php
echo "Hallo \"Welt\" heute\n";
?>

Auskommentieren

  • PHP bietet drei Möglichkeiten, Code zu kommentieren:
    • /* */ für mehrzeilige Kommentare
    • # für einzeilige Kommentare
    • // für einzeilige Kommentare

Beispiel:

<?php
echo "Hallo Welt"; // Kommentar hinter einem Befehl

/*
 * echo "Hallo Nichts";
 * echo "Es kommt keine Ausgabe";
 */

# Ein weiterer Kommentar
?>

PHP und HTML mischen

PHP-Code kann direkt in HTML eingebunden werden.

<html>
<h1>HTML und PHP auf einer Seite</h1>
<?php
echo "Hallo Welt\n";
?>
</html>

Variablen

<?php
$name = 'Poppe Desanex';
$zahlen = 33;

echo "Ich bin $name und $zahlen Jahre jung\n";
?>

Übergabe von Parametern

PHP kann Argumente über die Kommandozeile empfangen.

<?php
// Zugriff auf übergebene Argumente
print_r($argv);

// Beispielhafte Verwendung
if (isset($argv[1])) {
    echo "Erstes Argument: " . $argv[1] . PHP_EOL;
}
if (isset($argv[2])) {
    echo "Zweites Argument: " . $argv[2] . PHP_EOL;
}
?>
Beispiel-Aufruf
  • php parameter.php rot grün
Ausgabe
Array (
    [0] => parameter.php
    [1] => rot
    [2] => grün
)
Erstes Argument: rot
Zweites Argument: grün

Kontrollstrukturen

if

<?php
if ($argv[1] < 39) {
    echo "Du bist " . $argv[1] . PHP_EOL;
}
?>

else

<?php
if ($argv[1] < 39) {
    echo "Du bist " . $argv[1] . " Jahre alt." . PHP_EOL;
} else {
    echo "Du bist 39 Jahre oder älter." . PHP_EOL;
}
?>

while

<?php
$i = 0;
while($i < 10) {
   echo "$i, ";
   $i++;
}
?>

for

<?php
for($i = 0; $i < 10; $i++) {
   echo "$i, ";
}
?>

Arrays

<?php
$wochentage = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
echo $wochentage[1];
?>

Funktionen in PHP

PHP ermöglicht die Definition eigener Funktionen.

<?php
function begruessung($name) {
    return "Hallo " . $name . "!";
}

echo begruessung("Max");
?>

Integrierte Funktionen

PHP bietet viele vordefinierte Funktionen.

  • String-Funktionen:
<?php
echo strtoupper("hallo welt"); // HALLO WELT
echo strtolower("HALLO WELT"); // hallo welt
echo strlen("Hallo"); // 5
?>
  • Array-Funktionen:
<?php
$zahlen = array(1, 2, 3, 4, 5);
echo count($zahlen); // 5
echo array_sum($zahlen); // 15
?>

Arbeiten mit Dateien

  • Datei erstellen und schreiben:
<?php
$file = fopen("test.txt", "w");
fwrite($file, "Hallo Datei!");
fclose($file);
?>
  • Datei lesen:
<?php
$file = fopen("test.txt", "r");
echo fread($file, filesize("test.txt"));
fclose($file);
?>

Module in PHP

  • PHP kann mit Modulen erweitert werden.
  • Module prüfen:
php -m
  • Wichtige Module:
    • pdo_mysql – MySQL-Datenbankzugriff
    • gd – Grafikerstellung
    • curl – Webanfragen über HTTP/S
    • mbstring – Multibyte-String-Unterstützung

Aufgaben

  • Erstelle eine eigene Funktion zur Berechnung der Summe zweier Zahlen.
  • Schreibe eine Datei und lies sie wieder aus.
  • Teste verschiedene String- und Array-Funktionen.

Warum ist PHP wichtig?

  • Ermöglicht die serverseitige Verarbeitung für dynamische Webseiten.
  • Große Community und viele verfügbare Bibliotheken.
  • Unterstützt zahlreiche Datenbanken und externe APIs.