1: PHP | Overview
PHP im Überblick
PHP gilt allgemein als eher einfache Programmiersprache. Genau genommen ist diese Formulierung aber falsch: PHP kann mindestens so komplex sein wie JAVA, C# und C++ auch. Der Einsteiger aber merkt es nicht sofort weil Entwickler in PHP verschiedene Stilrichtungen pflegen. Viele glauben, dass man sich die Basics schnell selbst anlesen kann. Das ist auch nicht zwingend falsch, aber man vergisst hierbei, dass man hierbei den Einstieg in wirkliches PHP für Entwickler im Grunde genommen gar nicht gelernt hat.
$dateCreated = (new \DateTime())->setTimezone(new \DateTimeZone($timezone))->format(\DateTime::ATOM); // [1]
PHP verändert sich stetig
Merken Sie sich eines gleich von Beginn an:
Die Programmiersprache PHP verändert sich seit 20 Jahren ständig und stetig. Viele Kritikpunkte von JAVA- und C#- oder C++ Entwicklern an PHP waren durchaus begründet. PHP erlaubt immer einen schnellen Einstieg, und diesen Zeitvorteil verliert man aber in der laufenden Entwicklung weil altes PHP bzw. PHP-Grundlagen nicht für wachsende Projekte ausgelegt war.
Wenn wir bei SNEWMEDIA von "PHP Grundlagen" sprechen dann geht es im Kern darum, dass unsere Kunden PHP verstehen lernen und nicht nur in der Lage sind, irgendwelche Variablen anzulegen und in HTML auszugeben.
Automatische Typkonvertierung
Wer von JAVA, C# oder auch TypeScript kommt kann bei PHP an der automatisierten Typkonvertierung verzweifeln. Diese automatisierte Typkonvertierung von PHP ist eine der größten Fehlerquellen in Programmcode und zudem darüber hinaus immer wieder nur schwer zu lokalisieren.
// Einsteiger früher
$zahl = 1; $text = "1";
$ergebnis_1 = $zahl + $text;
$ergebnis_2 = $zahl . $text;
Erfahrene PHP Entwickler befassen sich immer wieder mit nachträglichen Typenprüfungen im Quellcode, um sicherstellen zu können, dass bestimmte Werte tatsächlich bestimmte Typen haben. Es versteht sich von selbst, dass Einsteiger, die nie ernsthaft darüber nachgedacht haben, an so etwas nicht denken.
Das ist immer wieder ein Aspekt der die Zusammenarbeit bei PHP unter Entwicklern erschwert.
Optionale Typisierung
Ab PHP 8.x ist es in PHP im Zusammenhang mit objektorienter Programmierung längst möglich, auch in PHP Eigenschaften und Methoden in Klassen konsequent zu typisieren. PHP übernimmt hierbei nicht nur eine Typenprüfung zur Laufzeit: Auch Entwicklungsumgebungen sind an diesem Punkt in der Lage, die Datentypen sowie auch die zugehörigen Codehints zu liefern.
// Einsteiger heute
class Berechnung {
public int $zahl = 1;
public string $text = 1;
public string ergebnis_1;
public int ergebnis_2;
public rechnen_int():int {
$this->ergebnis_1 =
$this->zahl + (int) $this->text;
return $this->ergebnis_1;
}
public verketten_text():string {
$this->ergebnis_2 =
(string) $this->zahl . $this->text;
return $this->ergebnis_2;
}
}
$e_1 = (new Berechnung())
->rechnen_int();
$e_2 = (new Berechnung())
->verketten_text();
Namespaces und PSR-4
Es gibt schon lange den PSR-4 Standard in PHP mit Namespaces. Das Problem ist nur: Einsteiger lernen es nicht. Unternehmen kennen es kaum.
Man muss einfach eines auch bei PHP verstehen lernen: Die Zeiten, in denen PHP nur für kleine Homepages eingesetzt wurde, sind seit Jahrzehnten vorbei. Überall, wo Software komplexer wird und im gerade im Open-Source-Bereich viele Module anderer Entwickler eingesetzt werden, ist es unvermeidbar, dass andere Entwickler den Klassen die gleichen Klassennamen geben.
Der PSR-4 Standard gibt bereits seit Langem vor, wie man Namespaces und Klassen benennt und auch wie man die zugehörigen Ordner und Dateien im Dateisystem benennt.
// Früher
$stern = new Stern(); // alt
// Heute
$stern = new \muster\Stern();
$stern = new \astronomie\Stern();
$stern = new \bewertungen\Stern();
2: PHP | Kurse in der Übersicht
PHP Kurse in der Übersicht
Wir hatten ursprünglich in Anlehnung an andere IT-Seminar-Betreiber zwei PHP Kurse: Einen Grundkurs mit 3 Tagen und einem Aufbaukurs mit 2 Tagen. Der Grundkurs beinhaltet normalerweise das Arbeiten mit HTML-Formularen und serverseitiger Verarbeitung mit PHP. Der Aufbaukurs beinhaltete üblicherweise eine Kurzeinführung in PHP und Objektorientierung PHP/OOP sowie die Datenbankanbindung PHP+MySQL oder PHP+MariaDB.
Seit 2020 haben wir diese üblichen zwei Kurse zu einem Grundkurs PHP Developer A101 zusammengefasst weil eine Trennung einfach keinen Sinn mehr machte. Viele Unternehmen glaubten, dass man nur die ersten 3 Tage bräuchte, weil man sich den Rest selbst anlesen kann. Das ist bereits seit Jahren oder Jahrzehnten ein Irrtum.
OOP und PSR-4 sind wichtig
Objektorientierung und PSR-4 Standard sind wichtig und sollte einmal richtig verstanden werden. Alle ernstzunehmenden Neuentwicklungen sowie auch viele Open-Source-Projekte setzen auf diese Standards.
PHP und Datenbanken
Oft auch vergessen: Es gibt mittlerweise 3 typische Varianten wie man PHP an Datenbanken anbindet. Es geht nicht immer darum, dass man alle 3 Varianten von Beginn an beherrscht, sondern es geht bei Grundlagen darum, dass man versteht, welche Variante man mit welchen Stärken und Schwächen gerade einsetzt oder einsetzen will.
Closures und Funktionale Programmierung
PHP kann längst ähnliche wie JavaScript und andere Sprachen auch Funktionale Programmierung und kennt auch inzwischen zwei Syntax-Varianten für Closures und Lambdas.
LERNEN MIT SNEWMEDIA. Wähle ein Thema.
Schick uns den Link auf Dein Wunschthema und wir bieten Dir einen Termin an!