Lernen Sie modernes PHP
Eine kuratierte Liste von Ressourcen für PHP
Inhaltsverzeichnis
- Muss gelesen werden
- Tutorials
- Bücher
- Online-Kurs
- Referenz
- Die Grundlagen
- PHP-Grundlagen
- Der LAMP-Stack
- HTML / HTML 5
- CSS
- JavaScript
- Protokolle
- Lokale Entwicklungsumgebungen
- Werkzeuge
- IDEs
- Frameworks und Bibliotheken
- Rahmenwerke
- Mikro-Frameworks
- Bibliotheken
- Vorlagen
- OOP
- Objektorientierte Programmierung
- Designmuster
- SOLIDE
- Abhängigkeitsinjektion
- Best Practices
- Model-View-Controller
- Datenbank
- Datenbankgrundlagen
- Datenbankbücher
- Relationales Datenbankverwaltungssystem (RDBMS)
- Datenbanknormalisierung
- Vorbereitete Stellungnahmen
- NoSQL
- Datenbankbibliotheken
- Datenbanktools
- Standards
- Fehler- und Ausnahmebehandlung
- Debuggen
- Unit-Tests
- Dokumentation
- Sitzungen
- Textübersetzungen
- Reguläre Ausdrücke
- XML
- API
- Versionskontrolle
- Sicherheit
- Architektur
- Domain Driven Design (DDD)
- Sechseckige Architektur
- Funktionale Programmierung
- Kontinuierliche Integration und kontinuierliche Lieferung
- Zeitschriften
- Waren
- Community und Neuigkeiten
Muss gelesen werden
- PHP der richtige Weg
- Die Roadmap für Webentwickler
Tutorials
- Vollständiges PHP 8-Tutorial – PHP richtig lernen im Jahr 2022
- PHP von vorne nach hinten (Videos)
- learn-php.org
- Lernen Sie PHP für erfahrene Entwickler
- PHP für Anfänger
- PHP-Pandas
- Lernen Sie PHP in Y Minuten
- PHP-Lehrling
- PHP am Beispiel
Bücher
- Erweiterte Webanwendungsarchitektur
- Erstellen moderner Anwendungen mit PHP 8
- Modernes PHP: Neue Funktionen und bewährte Methoden
- Leitfaden zum Objektdesign-Stil
- PHP 7 lernen
- PHP 7 Zend-Zertifizierungsstudienhandbuch
- Lernen Sie PHP 8: Verwendung von MySQL, JavaScript, CSS3 und HTML5
- PHP 8 Quick Scripting Reference: Ein Taschenhandbuch für PHP Web Scripting
- PHP programmieren (O'Reilly Media)
- Die Kunst des modernen PHP 8
Online-Kurs
- CodeAcademy – PHP lernen
- Codekurs
- Übung – PHP (Code-Praxis und Mentoring)
- SymfonyCasts – Erstellen Sie etwas Erstaunliches mit PHP
- Treehouse – PHP lernen
- Udemy – PHP
- DevProjects + Codementor (kostenlose PHP-Projekte und optional bezahltes Mentoring)
- Kostenlose PHP-Kurse
Referenz
- Sprachreferenz
- Moderner PHP-Spickzettel
- PHP-Handbuch
- PHP-Spickzettel
Die Grundlagen
PHP-Grundlagen
- Roadmap für PHP-Entwickler – So werden Sie PHP-Entwickler
- Erste Schritte mit PHP
- PHP-Datentypen
- PHP-Schleifen
- Array-Grundlagen
- Arbeiten mit Arrays
- PHP GET und POST
- PHP für Anfänger (Ausgabe 2023)
Der LAMP-Stack
- Der LAMP-Stack (Linux, Apache, MySql, PHP).
- Linux
- Apache HTTP-Server
- MySQL
- PHP
- Was ist ein LAMP-Stack? (Video)
HTML / HTML 5
- HTML und HTML5
- HTML-Tutorial
- Einführung in HTML
- Eine einfache HTML5-Vorlage
- DOM
- Lernen Sie HTML
CSS
- Kaskadierende Stylesheets
- CSS-Tutorial
- Einführung in CSS
- Einführung in CSS-Selektoren
- Lernen Sie CSS
JavaScript
- JavaScript (auch bekannt als ECMAScript)
- Grundlegendes JavaScript
- JavaScript-Tutorial
- Eloquentes JavaScript
- You Don't Know JS (Buchreihe)
- Tolles JavaScript-Lernen
- Lernen Sie JavaScript
Protokolle
- HTTP und HTTPS
- HTTP Request/Response, GET und POST
- Einführung in die HTTP-Grundlagen
- FTP
- SSH
- SMTP
- POP3
- IMAP
- Ajax
Lokale Entwicklungsumgebungen
- ddev
- EasyPHP Devserver & Webserver
- Heimstätte
- Laragon
- MAMP
- WAMPServer
- XAMPP
Werkzeuge
- Webbrowser (Chrome, Firefox)
- Komponist (Abhängigkeitsmanagement)
- WinSCP (kostenloser SFTP-, SCP- und FTP-Client)
- Putty (Ein kostenloser SSH- und Telnet-Client)
- PoEdit (gettext-Übersetzungseditor)
- Notepad++ (Texteditor)
- 7-ZIP (Dateiarchivierer)
IDEs
- PHPStorm ($)
- Visual Studio-Code
Frameworks und Bibliotheken
Rahmenwerke
- Laravel (Ein sehr beliebtes Framework)
- Lamellen
- Symfony (Ein modulares Unternehmensframework)
Mikro-Frameworks
- Slim Framework (Ein PHP-Mikro-Framework, das Ihnen hilft, schnell einfache, aber leistungsstarke Webanwendungen und APIs zu schreiben)
- Slim Framework 4 – Tutorial
- Slim Framework 4 – E-Book
Bibliotheken
- Tolle PHP-Bibliotheken
- Paketist
Vorlagen
- Plates (Ein natives PHP-Vorlagensystem)
- Twig (Die flexible, schnelle und sichere Template-Engine für PHP)
- Twig – die beliebteste eigenständige PHP-Template-Engine
- Twig versus Flat PHP
OOP
Objektorientierte Programmierung
„Schreiben Sie schüchternen Code –
Module, die anderen nichts Unnötiges verraten
Module und die nicht auf die Implementierungen anderer Module angewiesen sind.
- Objektorientierte Prinzipien in PHP
- Klassen und Objekte
- Objektorientiertes PHP beherrschen (eBook)
- Objektorientierte Programmierung
- Objektorientiertes Bootcamp
- OOP in PHP lernen
Designmuster
- Designmuster in PHP (Laracasts)
- Designmuster in PHP
- Gang of Four Design Patterns (Buch)
- Design Patterns for Humans™
- DesignPatternsPHP
- Mehrere Designmuster in PHP
- Designmuster im PHP-Kurs (Video)
SOLIDE
SOLID ist ein mnemonisches Akronym für fünf Designprinzipien, die Softwaredesigns verständlicher, flexibler und wartbarer machen sollen
- SOLIDE
- Die ersten 5 Prinzipien des objektorientierten Designs
Abhängigkeitsinjektion
- Eine Einführung in die Abhängigkeitsinjektion
- Was ist Abhängigkeitsinjektion?
- Die Clean Code Talks – Suchen Sie nicht nach Dingen! (Video)
- PSR-11: Containerschnittstelle
- Entmystifizierung von Dependency-Injection-Containern von Kai Sassnowski (Video)
Best Practices
KUSS
Einfachheit ist Voraussetzung für Zuverlässigkeit.
— Edsger W. Dijkstra
- KISS – Halte es einfach, Dummkopf
- KISS-Prinzip
YAGNI
Du wirst es nicht brauchen
- YAGNI
- Du wirst es nicht brauchen
- KUSS und YAGNI
- YAGNI, Frachtkult und Overengineering
TROCKEN
„DRY – Wiederholen Sie sich nicht.“
Jedes Wissen muss ein einziges,
eindeutige, verbindliche Darstellung innerhalb eines Systems.“
Bei DRY geht es darum, eine einzige Quelle der Wahrheit zu haben. Es geht nicht darum, Duplikate hektisch aus Ihrer Codebasis zu entfernen.
- Wiederholen Sie sich nicht (DRY)
Andere
- Best Practices von TheCodingMachine
- Kommen Sie früh zurück, kehren Sie oft zurück
- Globale Variablen sind schlecht
- Dünne Controller und fette Modelle
- PHP Dos and Don'ts, auch bekannt als Programmierer, die ich nicht mag
- Komposition über Vererbung
- Sauberer PHP-Code
- Objekt Calisthenics
Model-View-Controller
Die meisten Frameworks in PHP folgen einer Art MVC-Struktur. Die Theorie ist einfach:
Der Benutzer ist mit der Ansicht verbunden, die Informationen an einen Controller übergibt. Der Controller gibt diese Informationen dann an ein Modell (Schicht) weiter, und das Modell gibt die Informationen zurück an den Controller. Der Controller steht quasi zwischen der Ansicht und dem Modell. (Brandon James Savage)
- MVC-Wikipedia
- MVC einfacher ausgedrückt oder die Struktur einer modernen Webanwendung
- MVC-Übersicht
- MVC für Noobs
- Ein besseres Verständnis von MVC
- Dünne Controller, fette Modelle
- MVC für fortgeschrittene PHP-Entwickler
- Ein besseres Verständnis von MVC
- MVC-Modell 2
- Aktionsdomänen-Responder (ADR)
Datenbank
Datenbankgrundlagen
- Datenbank
- Datenbankmodell
- Codds 12 Regeln *
- Das einzig richtige PDO-Tutorial
- SQL-Tutorial
- Datenbank Grundlagen (deutsch)
- ERM
- Datenbank-Grundlagen-Tutorial (deutsch)
- Datenbank-Grundlagen-Tutorial: Primärschlüssel (deutsch)
Relationales Datenbankverwaltungssystem (RDBMS)
- MySQL
- MariaDB
- Microsoft SQL Server
- Orakel
- SQLite
Datenbankbücher
- Kostenloses MySQL-Buch
- Hochleistungs-MySQL: Optimierung, Backups und Replikation
Datenbanknormalisierung
Schlechte Programmierer machen sich Sorgen um den Code. Gute Programmierer kümmern sich um Datenstrukturen und ihre Beziehungen.
- Datenbanknormalisierung
- Erste Normalform (1NF)
- Zweite Normalform (2NF)
- Dritte Normalform (3NF)
- Beschreibung der Grundlagen der Datenbanknormalisierung
- Der Königsweg: Normalisierung (deutsch)
- Normalisierung (deutsch)
- MySQL - Normalisierung (deutsch)
Vorbereitete Stellungnahmen
- Vorbereitete Stellungnahme
- Vorbereitete Anweisungen – Schutz vor SQL-Injections
- PHP-vorbereitete Anweisungen
Datenbankbibliotheken
- CakePHP QueryBuilder
- Illuminate (Laravel) Query Builder
- Laminas DB Query Builder
- Phinx – Datenbankmigrationen
Datenbanktools
- SQLyog Community Edition
- SQLyog – Die umfassendste und benutzerfreundlichste MySQL-GUI ($)
- MySQL-Workbench
- HeidiSQL
- SequelPro
- Navicat ($)
- DBeaver
NoSQL
- NoSQL
- Redis (In-Memory-Datenstrukturspeicher, verwendet als Datenbank, Cache und Nachrichtenbroker)
- MongoDB (Dokumentenorientierte Datenbank)
Standards
Befolgen Sie gängige PHP-Konventionen für objektorientierten Code und etablierte Best Practices der Branche: PSR-1, PSR-12, PSR-4.
- PHP Framework Interop-Gruppe
- PSR-1 Basis-Codierungsstandard
- Leitfaden zum PSR-12-Codierungsstil
- PSR-3 Logger-Schnittstelle
- PSR-4 Autoloader
- Standard-PHP-Paketgerüst
- Ein Skelett-Repository für Liga-Pakete
- Semantische Versionierung 2.0.0
- Führen Sie ein Änderungsprotokoll
Fehler- und Ausnahmebehandlung
- Fehler und Ausnahmen
- Best Practices für die Fehlerbehandlung in PHP
- Ausnahmen
- Vordefinierte Ausnahmen
- SPL-Ausnahmen
- Fehler und Fehlerbehandlung
Debuggen
- Xdebug (Debugger)
- XAMPP – XDebug-Setup für PHP 7
- XAMPP – XDebug-Setup für PHP 8
Unit-Tests
„Softwaretester machen keine Software; Sie machen sie nur besser.“ – Anonym
- PHPUnit – Testframework
- Unit-Test, Integrationstest, Smoke-Test, Regressionstest
- Unit-Tests, Integrationstests und Funktionstests
- Die Testpyramide
- Der Weg des Testivus (pdf)
- Datenbanktests
- Best Practices für Datenbanktests mit PHPUnit
- Datenbanktests mit PHPUnit
- Datenbank-Fixture-Setup in PHPUnit
- Der richtige Umgang mit Integrationstests
- 100 % Codeabdeckung durch automatisierte Tests in Symfony-Anwendungen
- E-Book „Building Test-Driven Developers“.
- Schreiben Sie Tests. Nicht zu viele. Hauptsächlich Integration
- Unit-Tests werden überbewertet
Dokumentation
Es sollte illegal sein, Ihren Code nicht zu kommentieren, wenn Sie Programmierer sind – @RiaCorpeno
PHPdoc dient der Dokumentation Ihres Codes. Die Absicht besteht darin, dass Sie Ihren Parametern und Rückgabetypen in Dokumentblöcken immer Kommentare hinzufügen, die beschreiben, was sie tun. Es gibt Software, die Ihren Code einlesen und eine Dokumentation im PDF- oder HTML-Format erstellen kann, die alle Ihre Klassen und Funktionen sowie deren Funktion und Verwendung beschreibt. Wie der Name schon sagt, handelt es sich um ein System zur Inline-Dokumentation.
- Einführung in PHPDoc
- Der PHPDoc-Standard (PSR-5) für Kommentare
- PHPDoc-Wiki
- Grundlegende PHPDoc-Syntax
- Anatomie eines DocBlocks
- Ihre erste Dokumentation
Sitzungen
- PHP-Sitzungen
- Sitzungsbehandlung
- Plätzchen
- Sitzungsverwaltung
- PHP-Sitzungen im Detail
Textübersetzungen
- Internationalisierung und Lokalisierung (i18n)
- Symfony: Die Übersetzungskomponente
- PoEdit Gettext-Übersetzungseditor
Reguläre Ausdrücke
- Regulärer Ausdruck
- PCRE-Funktionen
- PHP Live Regex (ein Live-Tester für reguläre Ausdrücke für PHP)
- PHPrex (ein visueller Tester für reguläre Ausdrücke für PHP)
XML
- XML (Extensible Markup Language)
- XSD (XML-Schemadefinition)
API
RESTful-API
- REST, RESTful, REST-ähnliche API-Ressourcen
- REST, RESTful API-Kurzreferenz
- API-Richtlinien
- 7 Regeln für das REST-API-URI-Design
SOAP-API
- SOAP (Simple Object Access Protocol)
- Die SOAP-Erweiterung Die SOAP-Erweiterung kann zum Schreiben von SOAP-Servern und -Clients verwendet werden.
- Webdienst
- WSDL (Web Services Description Language)
- Implementierung einer SOAP-API mit PHP
Versionskontrolle
- Was ist Versionskontrolle?
- Github
- Ressourcen zum Erlernen von Git
- Eine Tutorial-Einführung in Git
- Git – Die einfache Anleitung
- Das Pro Git-Buch
Sicherheit
Ein guter Programmierer schaut in beide Richtungen, bevor er eine Einbahnstraße überquert.
- Grundlagen der Web-Sicherheit – Ein Crashkurs
- PHP-Sicherheits-Spickzettel
- PHP der richtige Weg – Sicherheit
- XSS
- Die neuesten Informationen zu sicherer PHP-Software
- Sicherheitstipps für eine PHP-Anwendung
- Die ultimative PHP-Sicherheitscheckliste
- Best Practices für die PHP-Sicherheit
Architektur
- Onkel Bobs „Clean Architecture“ (Buch)
- Die saubere Architektur
- Muster der Unternehmensanwendungsarchitektur – Martin Fowler
- Die Zwiebelarchitektur Teil 1
- Eine Reise zu sauberem Code und Freude – Agilität, TDD, OOP-Muster, MVC, Framework-Entkopplung
Domain Driven Design (DDD)
- DDD für Anfänger
- Domain-Driven Design: Bewältigung der Komplexität im Herzen von Software (The Blue Book)
- Implementierung von domänengesteuertem Design (The Red Book)
- Entwerfen Sie einen DDD-orientierten Microservice
- Domain-Driven Design Reference (Eine Zusammenfassung der Muster und Definitionen von DDD, PDF)
- Dienstleistungen im Bereich Domain-Driven Design
- Erstellen Sie Dienste, die Sie nicht hassen werden
- Domain-Driven Design (Das blaue DDD-Buch)
- Implementierung von Domain-Driven Design (Das rote DDD-Buch)
Sechseckige Architektur
- Port- und Adapterarchitektur
- Sechseckige Architektur entmystifiziert
- Sechseckige Architektur
- Alistair im „Hexagone“
- Leitfaden zum Objektdesign-Stil
- Erweiterte Webanwendungsarchitektur
Funktionale Programmierung
- Funktionale Architektur – Die Abgründe des Erfolgs – Mark Seemann (Video)
Kontinuierliche Integration (CI) und kontinuierliche Lieferung (CD)
- Kontinuierliche Lieferung (Buch)
- Kontinuierliche Bereitstellung von PHP-Projekten (Video)
- Kontinuierliche Integration vs. Continuous Delivery vs. Continuous Deployment
- Was ist Continuous Deployment?
- PHP und kontinuierliche Integration mit Travis CI
- Docker für PHP-Entwickler
Zeitschriften
- PHP-Architekt (englisch)
- PHPmagazin (deutsch)
- Web- & Mobile-Entwickler (deutsch)
Waren
- Der offizielle elephpant Shop – Boutique elePHPant
- PHPUnit-Merchandise
- PHP-Aufkleber
Community / Neuigkeiten
- @official_php
- r/PHP
- r/PHPhelp
- PHP auf dev.to
- Hashnode/php
- Stapelüberlauf
- Wöchentlicher PHP-Newsletter
- Freek.dev-Newsletter
- Stitcher-Mail
- Toller PHP-Newsletter
- JetBrains – Monatlich mit PHP kommentiert
- Die Interna von PHP
- PHP-Digest von Roman Pronsky (russisch)
- Liste der PHP-Blogs
- PHP-Konferenzen auf der ganzen Welt
- PHP-Chatroom auf StackOverflow
- Wann ist das nächste PHP-Meetup?