php ist
die Standard-Programmiersprache zur
Erstellung von dynamischen Webanwendungen. php ist frei,
zahlreiche Funktionsbibliotheken für alle nur erdenklichen Zwecke stehen zur
Verfügung. Ein ganz entscheidender Vorteil ist die Anbindung an viele
Datenbanksysteme, somit lassen sich ganz einfach auch
umfangreiche, professionelle Projekte realisieren.
php läuft
auf dem Webserver, nicht im Browser! Nur so ist die Anbindung an
eine Datenbank sinnvoll, nur hier können grundlegende
Sicherheitsüberprüfungen durchgeführt werden. Moderne Webapplikationen
nutzen zwar intensiv Client-seitige Techniken wie html5, CCS3 und CSS, als
Rückgrat wird aber immer serverseitige Dynamik, sehr oft auf der Basis
von php, eingesetzt.
Einige
große Projekte, die in php realisiert sind:
- Content-Management-Systeme wie TYPO3 oder WordPress oder Joomla
- MediaWiki
- diverse Foren-Software, Chats, Blogs
- viele eCommerce-Systeme
Im universitären und im privaten Umfeld sind datenbankgestütze
Webanwendungen auf Basis von php sehr nützlich, weil sie sich leicht
erstellen und auf spezielle Anforderungen zuschneidern lassen. Beispiele:
Anmeldungen zu Workshops und Veranstaltungen, Personenlisten mit feingranularen
Zugriffsrechten,
die man selbst unter Kontrolle hat,
spezielle Terminkalender, Newsletter, Verwaltung von Buchbeständen o
.ä. mit Entleihungen, dynamische
Erzeugung von pdf-Dokumenten.
Selbstgeschriebene php-Anwendungen arbeiten hervorragend mit dem neuen
Content Management System der Universität auf Basis von TYPO3 zusammen.
Beispiel: Mitarbeiter-Seite vom Lehrstuhl Richter. Die Rohdaten kommen aus
der Mitarbeiter-Datenbank (in php) und werden über moderne Webtechniken wie Ajax und
JSON an das CMS geliefert, das dann die Informationen entsprechend dem
gewünschten Erscheinungsbild des Lehrstuhles darstellt.
In unserem
2-wöchigen, ganztägigen Kurs lernen Sie alles Wesentliche, um selbst
dynamische, datenbankgestützte Webseiten mit
php und der Datenbank
MariaDB (MySQL) zu erstellen.
Schon am ersten Tag werden Sie eine kleine funktionsfähige Applikation
entwickeln. Stück für Stück werden dann
die Kenntnisse vertieft, zunächst durch Vorträge des Dozenten,
die dann
gleich anschließend durch praktische Übungen ergänzt werden.
Natürlich werden auch
grundlegende Konzepte zum Design von Datenbanksystemen
vermittelt - wie kann ein reales Problem sinnvoll abgebildet werden in
Tabellen und Beziehungen untereinander.
In den letzten Tagen des Kurses fertigt jede Gruppe (i.d.R. zwei Leute) ein eigenes
kleines Projekt an, Ideen der KursteilnehmerInnen sind dabei herzlich willkommen.
Als
Kurs-Voraussetzungen sollten vorhanden sein (wir
rekapitulieren aber auch im Kurs nochmals diese Aspekte):
- Kenntnisse im Erstellen einfacher statischer Webseiten in HTML.
- Passable Programmierkenntnisse in einer beliebigen Sprache (z.B. C/C++, Java, Perl, Python, …)
- hilfreich, aber nicht notwendig: Unix-Grundkenntnisse – auf Linux-PCs arbeiten wir.
Aufgrund der intuitiven, C/C++-ähnlichen Syntax von php
eignet sich der
Kurs auch für Leute, die noch wenig Programmiererfahrung haben.
Die Programmieraufgaben und das Projekt werden direkt im Browser
untersucht, das erleichtert gerade Unerfahrenen die Fehlersuche.
Erste Woche
Montag |
Dienstag |
Mittwoch |
Donnerstag |
Freitag |
Einstimmung |
PHP-Grundlagen |
HTML-Formulare und ihre Verarbeitung mit PHP |
Grundlagen relationale Datenbanken |
Datenbanken vertieft |
- Organisatorisches, Freischaltung des
dynamischen Webspace
- Kurzübersicht PHP, HTML, SQL;
HTML-Basics
- Hello world in PHP und MySQL: eine
simple Telefondatenbank mit drei Einträgen
- Ein paar Linux-Grundlagen
- Sicherheitsaspekte, Copyright und
Datenschutz
|
- Historie, Konzepte, Implementierungen
- Online-Literatur als ständige
Hilfe
- Programmieren mit PHP:
- Datentypen, Variablen und Arrays
- Operatoren
- Bedingungen und
Schleifen
|
-
Datenübergabe mit HTML&PHP
-
Verarbeitung mit PHP
- HTML-Formulare: Texteingaben, Textareas,
versteckte Elemente
- Auswahllisten, Checkboxen, Radiobuttons
- Überprüfung und Verarbeitung der Eingaben mit PHP
-
Einführung in MariaDB und SQL, Behandeln der wichtigsten
SQL-Befehle
-
Datenbank, Datenbank-Management,
Relationen, Attribute, Schlüssel
- Die MySQL Funktionen von PHP
|
- Datenmodellierung: Entity relationship
model, Normalformen
- Aliase, SQL-Funktionen
- Joins
|
|
nachmittags Übungsaufgaben:
- Erster Kontakt mit Linux,
für den Kurs notwendige Kommandos
- Erstellen und Publizieren einer simplen, statischen
HTML-Website
- Erste Spielereien mit allen Kurselementen
- Anlegen des HelloWorld-Projektes:
Datenbank-Einträge, Rahmen mit php und MySQL
|
nachmittags Übungsaufgaben:
- Einüben von grundlegenden Programmiertechniken
in php
- Erstellung von simplen Programmen wie
- Mini-Taschenrechner
- Sortieren
- Schaltjahrrechner
|
nachmittags Übungsaufgaben:
|
Zweite Woche
Montag |
Dienstag |
Mittwoch |
Donnerstag |
Freitag |
Fortgeschrittene PHP-Techniken |
Schritte in die
Professionalität
|
|
- Arrays vertieft
- PHP-Funktionen
- Zeichenkettenfunktionen in PHP
- Reguläre Ausdrücke
- PHP-Objekte
- Mails in PHP generieren
|
- CSS im Überblick
- Header und Headerfunktionen
- Authentisierung, Cookies und Sessions
- dynamische Grafiken mit PHP
- PDF-Erzeugung
- Javascript mit AJAX
- Zusammenfassung Sicherheitsaspekte
|
Projektarbeit
|
Projekt-Präsentationen
|
Montag und Dienstag Nachmittag, Mittwoch und
Donnerstag ganztags Projektarbeit
|
Für die Fertigstellung der Projekte erhalten die
Teilnehmenden eine weitere Woche Zeit.
|