Ressourcen

Aktuellste Version dieses Dokuments und der gezeigten Code-Beispiele
https://github.com/janunger/rheinwerk-video-training

Kapitel 1 - Entwicklerwerkzeuge für PHP einrichten

Lektion 1.6 - Einen lokalen Webserver für Windows einrichten

XAMPP
https://www.apachefriends.org/de/

Lektion 1.7 - Einen lokalen Webserver für Mac-Systeme einrichten

MAMP
https://www.mamp.info/de/

Lektion 1.8 - Die Entwicklungsumgebung PhpStorm installieren

PhpStorm
https://www.jetbrains.com/phpstorm/

Web Developer für Google Chrome
https://chrome.google.com/webstore/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm

Kapitel 2 - Grundlagen der PHP-Programmierung

Lektion 2.7 und 2.8 - Kontrollstrukturen, Verzweigungen, Schleifen

Vergleichs-Operatoren
http://php.net/manual/de/language.operators.comparison.php

Kontrollstrukturen
http://php.net/manual/de/language.control-structures.php

Lektion 2.9 - Mit Zahlen rechnen

BCMath Rechnen mit beliebiger Genauigkeit
http://php.net/manual/de/book.bc.php

Lektion 2.12 - Vordefinierte Variablen: $_GET und $_POST

Superglobals
http://php.net/manual/de/language.variables.superglobals.php

Kapitel 3 - PHP-Programme schreiben

Lektion 3.3 - PHP-Funktionen verwenden

Funktionsreferenz
http://php.net/manual/de/funcref.php

Zeichenketten
http://php.net/manual/de/book.strings.php

Ortszeit/Datum formatieren
http://php.net/manual/de/function.date.php

Mathematische Funktionen
http://php.net/manual/de/ref.math.php

Lektion 3.4 - Fehlersuche und Debugging

var_dump
http://php.net/manual/de/function.var-dump.php

Xdebug
https://xdebug.org/

Xdebug helper für Google Chrome
https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

Kapitel 4 - Objektorientierte Programmierung mit PHP

Lektion 4.2 - Klassen und Objekte

"Objektorientierte Programmierung" von Bernhard Lahres, Gregor Rayman
http://openbook.rheinwerk-verlag.de/oop/

"Clean Code - Refactoring, Patterns, Testen und Techniken für sauberen Code: Deutsche Ausgabe" von Robert C. Martin
https://www.amazon.de/dp/3826655486/

Lektion 4.4 - Vordefinierte PHP-Klassen nutzen

Zeitzonen
http://www.zeitzonen.de/

Unixzeit
https://de.wikipedia.org/wiki/Unixzeit

Lektion 4.5 - Den PHP-Code gliedern per Auto-Loading

Anonyme Funktionen
http://php.net/manual/de/functions.anonymous.php

Lektion 4.9 - Entwurfsmuster anwenden

Entwurfsmuster
https://de.wikipedia.org/wiki/Entwurfsmuster

"Design Patterns. Elements of Reusable Object-Oriented Software" von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides
https://de.wikipedia.org/wiki/Entwurfsmuster_(Buch)

"PHP Design Patterns" von Stephan Schmidt
https://www.amazon.de/PHP-Design-Patterns-Stephan-Schmidt/dp/389721864X

Kapitel 5 - Webtechniken und Datenaustausch

Lektion 5.7 - Daten in Dateien schreiben

fopen
http://php.net/manual/de/function.fopen.php

Lektion 5.8 - Daten aus Dateien herauslesen

fread
http://php.net/manual/de/function.fread.php

fgetcsv
http://php.net/manual/de/function.fgetcsv.php

Lektion 5.9 - JSON: Asynchrone JavaScript Requests

jQuery UI Autocomplete - Remote datasource
https://jqueryui.com/autocomplete/#remote

JSON
https://de.wikipedia.org/wiki/JavaScript_Object_Notation

Lektion 5.10 - Bilder und Grafiken mit PHP bearbeiten

Bildbearbeitung und GD
http://php.net/manual/de/book.image.php

Lektion 5.11 - PDF-Dokumente erstellen

FPDF
http://www.fpdf.org/

Kapitel 6 - Datenbanken verwalten mit MySQL & Co.

Lektion 6.3 - Eine Datenbank verwalten mit phpMyAdmin

Datentypen in MySQL
http://dev.mysql.com/doc/refman/5.7/en/data-types.html

Lektion 6.9 - Weitere Datenbanksysteme im Überblick

MariaDB
https://de.wikipedia.org/wiki/MariaDB

SQLite
https://de.wikipedia.org/wiki/SQLite

PostgreSQL
https://de.wikipedia.org/wiki/PostgreSQL

SQLite, MySQL und PostgreSQL im Vergleich
https://www.digitalocean.com/community/tutorials/sqlite-vs-mysql-vs-postgresql-a-comparison-of-relational-database-management-systems

Microsoft SQL Server
https://de.wikipedia.org/wiki/Microsoft_SQL_Server

Oracle Database
https://de.wikipedia.org/wiki/Oracle_(Datenbanksystem)

MongoDB
https://de.wikipedia.org/wiki/MongoDB

Neo4j
https://de.wikipedia.org/wiki/Neo4j

Kapitel 7 - Webanwendungen mit PHP erweitern

Lektion 7.2 - Content Management Systeme im Überblick

Content Management System
https://de.wikipedia.org/wiki/Content-Management-System

WordPress
https://de.wordpress.org/

WordPress Themes
https://de.wordpress.org/themes

WordPress als Software-as-a-Service
https://de.wordpress.com/

Joomla
https://www.joomla.de/

Drupal
https://www.drupal.org/

Typo3
https://typo3.org/

Lektion 7.3 - E-Commerce und Shopsysteme

WooCommerce
https://woocommerce.com/
https://de.wordpress.org/plugins/woocommerce/

Magento
https://magento.com/

Shopware
https://de.shopware.com/

Lektion 7.4 - WordPress installieren

WordPress herunterladen
https://de.wordpress.org/txt-download/

Lektion 7.5 - Ein eigenes WordPress-Plugin entwickeln

Ein Plugin schreiben
https://codex.wordpress.org/Writing_a_Plugin

Plugin API
https://codex.wordpress.org/Plugin_API

Kapitel 8 - Sichere Webanwendungen mit PHP

Lektion 8.2 - Sicherheit von Webanwendungen verbessern

OWASP (Open Web Application Security Project)
https://www.owasp.org/

OWASP Top 10
https://www.owasp.org/images/4/42/OWASP_Top_10_2013_DE_Version_1_0.pdf

Die Grundlagen der Web-Anwendungs-Sicherheit
http://martinfowler.com/articles/web-security-basics.html

Lektion 8.5 - Passwörter richtig verschlüsseln

Password Hashing Funktionen
http://php.net/manual/de/ref.password.php

bcrypt
https://de.wikipedia.org/wiki/Bcrypt

Lektion 8.6 - Kleines Einmaleins der sicheren Webanwendung

htmlspecialchars
http://php.net/manual/de/function.htmlspecialchars.php

filter_var
http://php.net/manual/de/function.filter-var.php
http://php.net/manual/de/filter.filters.php

Kapitel 9 - Webanwendungen verwalten

Lektion 9.2 - Ein FTP-Programm einrichten

Hosting-Anbieter
https://www.hosteurope.de/
https://hosting.1und1.de/webhosting?linkId=hd.subnav.webhosting
https://www.strato.de/
https://uberspace.de/

FTP-Programm Cyberduck
https://cyberduck.io/

Lektion 9.5 - Die Konfigurationsmöglichkeiten der php.ini nutzen

Die Konfigurationsdatei php.ini
http://php.net/manual/de/configuration.file.php

Liste der php.ini-Direktiven
http://php.net/manual/de/ini.list.php

Kapitel 10 - Fortgeschrittene Techniken

Lektion 10.2 - PHP-Bibliotheken nutzen mit Composer und Packagist

Composer
https://getcomposer.org/

Packagist
https://packagist.org/

Lektion 10.3 - PHP-Frameworks: Symfony, Zend Framework und andere

Symfony
http://symfony.com/

Zend Framework
https://framework.zend.com/

Laravel
https://laravel.com/

Silex
http://silex.sensiolabs.org/

Slim
http://www.slimframework.com/

Lektion 10.5 - Automatisierte Tests mit PHPUnit

Testautomatisierung
https://de.wikipedia.org/wiki/Testautomatisierung

PHPUnit
https://phpunit.de/

"Growing Object-Oriented Software Guided by Tests" von Steve Freeman und Nat Pryce
http://www.growing-object-oriented-software.com/