Sprachen lernen war nie so einfach! Lass dir mit dem PHP Tutorial zeigen, wie du deine Website auf Basis objektorientierter Programmierung erstellst.
Dich erwartet ein PHP Tutorial über die objektorientierte Programmierung – Grundlagen und Praxis.
Von ganzem Herzen: Willkommen im Kurs! Hier gibt es eine Übersicht darüber, was dich erwartet.
Los geht es mit der Einrichtung deiner Entwicklungsumgebung. Hier findest du die notwendige Software.
Welcher Editor ist für die Beispiele die richtige Wahl? Hier findest du die Antwort.
Ich arbeite im Kurs mit PhpStorm. In dieser Lektion zeige ich dir, wie die Beispiele auch mit anderen Editoren geöffnet werden können.
Du bist schon voll motiviert? Nach diesem Video noch ein wenig mehr. Eine Vorschau auf das Praxisprojekt.
In PHP 7 haben sich manche Dinge geändert. Hier findest du eine Übersicht über einige der offensichtlichsten Änderungen.
Um das Grundlagenkapitel noch etwas spannender zu gestalten, füllst du hier nebenbei einen Lückentext aus. Lade dir die Vorlage herunter, drucke sie aus und bearbeite sie, während du das Kapitel durcharbeitest.
Hier legst du die wichtige Basis, denn Objekte sind nicht einfach nur eine Sammlung von Daten und Funktionen. Ein wichtiger Einstieg in das Thema.
Wird von objektorientierter Programmierung gesprochen, fällt früher oder später der Begriff „Klasse“. Aber was hat es damit auf sich?
Die Datenkapselung ist ein wichtiges Grundprinzip. In dieser Lektion lernst du die Idee dahinter kennen.
Ohne Abstraktion wäre deine Software sehr schnell ziemlich unübersichtlich, die gewünschte Vereinfachung nicht erreicht. Schau dir dieses Video an und lerne, abstrakter zu denken.
Auch Vererbung unterstützt die Architektur deiner Software. Lerne sie zu verstehen und bewusst einzusetzen.
Die Polymorphie lässt sich am besten in der Praxis nachvollziehen. Dennoch solltest du zu diesem Zeitpunkt wenigstens davon gehört haben.
Du hast den Lückentext gewissenhaft ausgefüllt? Sehr gut! Hier kannst du ihn nun kontrollieren.
Von der Theorie in die Praxis. Hier steigst du nun in die Umsetzung mit PHP ein.
Eine Klasse ist der Bauplan für Objekte. In PHP wird eine Instanz mit dem Keyword „new“ erzeugt. Hier lernst du, wie das geht.
Die Eigenschaften einer Klasse beschreiben das Objekt näher. Lern dieses Konzept näher kennen.
Die Konstanten sind eine zusätzliche Möglichkeit, um statische Werte zu hinterlegen. Hier lernst du auch dieses Prinzip kennen.
Es gibt bei der Benennung von Variablen & Co einige allgemein akzeptierte Konventionen oder „Best Practices“. Und um die geht es hier.
Kennst du die Prinzipien „PassByValue“ und „PassByReference“? Die sind bei der Arbeit mit Objekten extrem wichtig. Hier erfährst du, wieso.
Die erste Einführung ist vorbei. Vertiefe dein Wissen mit der ersten Übungsaufgabe.
Eine mögliche Lösung für die Aufgabe findest du hier.
Jetzt lernst du die grundlegende Syntax zur Deklaration von Funktionen.
Wirklich dynamisch werden Methoden nur durch Parameter. Hier lernst du auch diese kennen.
Methoden können nicht nur Quellcode ausführen und Ausgaben erzeugen. Hier lernst du, wie Werte an den Aufrufer zurückgegeben werden.
Du kannst den Methodennamen vor dem Aufruf in einer Variable hinterlegen und die Variable weiterverwenden. Lern dies hier kennen.
Es gibt verschiedene Gültigkeitsbereiche, die du kennen solltest. Hier lernst du sie kennen.
Die nächste Übungsaufgabe steht an. Dieses Mal geht es um das Thema „Methoden“.
Die mögliche Lösung zur Übungsaufgabe rund um Methoden gibt es in dieser Lektion.
Bei der Arbeit mit Objekten spielt der Verweis auf das aktuelle Objekt („$this“) und die Referenz auf die aktuelle Klasse („self“) eine besondere Rolle. Hier lernst du beides kennen.
Beim Erzeugen und Zerstören von Objekten kannst du eine eigene Logik ausführen. Dazu dienen die Konstruktoren und Destruktoren. Lern das Prinzip hier kennen.
Lerne hier die Syntax zur Vererbung in PHP kennen.
Wenn du von einer Klasse erbst, kannst du mit dem Keyword „parent“ auf die Hauptklasse verweisen. Hier zeige ich dir, wie das geht.
Eine zentrale Bedeutung hat die Sichtbarkeit. Lern nun die Keywords „public“, „private“ und „protected“ kennen.
Die Sichtbarkeit bezieht sich nicht nur auf Eigenschaften. Hier überträgst du das Wissen auch auf Methoden.
Ein wichtiges Stilmittel sind die sogenannten Schnittstellen (Interfaces). In dieser Lektion schaust du sie dir am Beispiel an.
Auch in unserem Praxisbeispiel spielen später statische Methoden eine wichtige Rolle. Lern das Konzept hier näher kennen.
Abstrakte Klassen und Methoden sind ein weiteres Stilmittel für Software-Architekten. Auch sie musst du unbedingt kennenlernen.
Eine Methode darf nicht mehr überschrieben werden? Dann mach dies mit dem Keyword „final“ sichtbar.
Vertiefe die Arbeit mit Objekten in dieser Übung noch etwas mehr.
Hier die Lösung zur Übung.
Wenn Objekte in Textform gespeichert oder über das Netz übertragen werden, wird das „Serialisierung“ genannt. Lerne, wie es funktioniert.
Nicht immer funktioniert die Serialisierung einwandfrei, z. B., da nach dem erneuten Einlesen eine Verbindung nicht automatisch wiederaufgebaut wird. Lerne, wie du hier zusätzlich eingreifen kannst.
Mit der magischen Methode „__invoke“ ermöglichst du den direkten Aufruf deiner Objekte.
Eine weitverbreitete Methode ist die lesbare Beschreibung von Objekten über die magische Methode „__toString“. Die stelle ich dir in dieser Lektion vor.
Gerade bei einem dynamischen Data-Model kannst du über magische Methoden wie „get“, „set“ usw. Arbeit sparen. Das findest du in der Praxis häufig und du musst die Technik dahinter kennen.
Zum Beispiel in Bedingungen wird häufig auf bestimmte Klassen geprüft. Dabei hilft dir in PHP das Keyword „instanceof“, das du hier nun kennenlernst.
In PHP 7 neu eingeführt: die anonymen Klassen. Sie können in manchen Situationen unnötigen Overhead vermeiden. In diesem Video findest du ein praxisnahes Beispiel.
Eine Kopie von Objekten kann nicht über die Variablen erzeugt werden. Da wird nur die Referenz weitergegeben. Du kannst aber Objekte klonen. Hier lernst du, was dafür notwendig ist.
In der objektorientierten Welt sind Ausnahmen wichtig, da über mehrere Ebenen hinweg Fehlersituationen weitergereicht und an passender Stelle verarbeitet werden können. Lerne, sie einzusetzen.
Auch neu in PHP 7: Type-Hints für skalare Datentypen wie „string“, „int“ usw. Hier lernst du, sie einzusetzen.
Ebenfalls neu in PHP 7: die Deklaration des Rückgabewertes einer Methode. Hier stelle ich dir die Syntax dazu vor.
Bisher waren die Beispiele sehr einfach. In der Praxis sieht die Struktur komplexer aus. Da spielt der Autoloader eine zentrale Rolle. Lerne, wie du ihn hinterlegst.
In dieser Lektion legst du die Basis für eine saubere Projektstruktur.
Den Feinschliff bekommt die Projektstruktur nun dank der Namespaces. Lerne sie hier kennen.
Du möchtest Klassen aus anderen Namespaces verwenden? Hier lernst du den Import kennen.
Über das „Singleton Pattern“ wird nur eine Instanz einer Klasse erzeugt. Hier lernst du die Implementierung kennen.
Du möchtest alle Daten aus einer eigenen Collection oder Klasse lesen? Ein Iterator hilft dir dabei.
Ein Observer ermöglicht eine sehr lockere Kopplung zwischen verschiedenen Teilen deiner Applikation. Lern dieses Entwurfsmuster nun kennen.
Eine Factory erzeugt dir Instanzen deiner Klassen. Das minimiert die Abhängigkeiten und zentralisiert den Aufruf deiner Konstruktoren.
Lerne das Model-View-Controller-Pattern kennen, bevor wir in die Praxis stürzen.
Was passiert hier? Tanke Motivation und schau dir das Endergebnis einmal vorab an.
Ein Feature unserer Applikation: der zentrale Einstiegspunkt. Hier sorgst du für die notwendigen Rahmenbedingungen über die „.htaccess“.
Die URL-Verarbeitung und Zuweisung der korrekten Klasse läuft über das Bootstrapping. Hier erstellst du sie.
Die angefragte Ressource wird dem Controller und einer Action zugeordnet.
Nachdem die Ressourcen angefragt werden können, musst du natürlich auch welche anbieten. Und genau das geschieht hier: über deinen ersten Controller inkl. Action.
Eine Datenbankstruktur ist die notwendige Voraussetzung für die weitere Anwendung. Jetzt wird sie vorbereitet.
In PHP 7 gibt es die „mysql_*“-Funktionen nicht mehr. Hier lernst du eine objektorientierte Alternative kennen: PDO.
Das Aussehen wird natürlich weiterhin durch HTML/CSS bestimmt. Hier lernst du, wie die Integration realisiert werden kann.
Das Design für die Galerieansicht wird hier aus der Vorlage geholt und anschließend integriert.
Eine zentral abrufbare Basis-URL findest du in den meisten Frameworks. Sie kann z. B. konfiguriert werden oder für geschützte Seiten wie den Log-in separat angegeben werden (ggf. mit https). Lerne, wie das realisiert werden kann.
Das „Factory Design Pattern“ hast du bereits kennengelernt. Hier kommt es nun ebenfalls zum Einsatz.
Bevor Benutzer in der Applikation geladen werden können, wird ein Model benötigt. Und genau dies wird nun erzeugt.
Auch Sessions werden von der Galerie unterstützt. Hier wird nun im ersten Schritt der Log-in realisiert.
Bist du eingeloggt? Du möchtest dich nun wieder ausloggen? In dieser Lektion werden beide Funktionen geprüft.
Der Log-in ist fehlgeschlagen. Hier lernst du, Werte aus der Session zu lesen.
Ein weiteres Feature, neuer Controller: Formulare verarbeiten. Hier triffst du die Vorbereitung.
Der Upload muss nach dem „POSTRequest“ auch verarbeitet werden. Hier lernst du alle erforderlichen Schritte kennen.
Ein neues Bild wurde erfolgreich übertragen. Eine Referenz dazu wird in der Datenbank festgehalten.
Hier lernst du die Meldungen in der Session noch besser zu verwalten.
Die hochgeladenen Bilder werden hier auf einen gemeinsamen Nenner (gleiche Höhe) skaliert.
Das Praxisbeispiel wird mit einer Übungsaufgabe um die Benutzeranmeldung erweitert.
Eine Lösung für die Aufgabe #4 findest du hier.
Die Stärken der MVC-Architektur werden ausgenutzt und ein weiterer Controller mit abweichendem Template wird für die gleiche Datenbank-Logik verwendet.
Das bisher sehr statische Routing wird noch einmal optimiert – mit einer eigenen Konfigurationsdatei.
Die angepasste Routing-Lösung muss nun im Bootstrapping berücksichtigt werden.
Um die API auch nutzen zu können, werden hier die Bilder über eine iOS-App hochgeladen.
Kommentiere jetzt „PHP Tutorial – objektorientierte Programmierung: Grundlagen & Praxis“