# 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/