PHP-Framework - das Prinzip erklärt an einem "Hello World" Model View Controller (MVC), Dependency Injection (DI), Dependency Injection Container (DIC) und Unit Test

Framework

Ein Framework (englisch für Rahmenstruktur) ist ein Programmiergerüst, das in der Softwaretechnik, insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen, verwendet wird.
...
Ein Framework ist selbst noch kein fertiges Programm, sondern stellt den Rahmen zur Verfügung, innerhalb dessen der Programmierer eine Anwendung erstellt, wobei u. a. durch die in dem Framework verwendeten Entwurfsmuster auch die Struktur der individuellen Anwendung beeinflusst wird.

PHP-Framework - das Prinzip erklärt an einem "Hello World" ist ein Lernprogramm in Deutsch zur Unterstützung beim Einstieg in das PHP Framework Symfony.

Das Framework, zu deutsch, die Rahmenstruktur, bezeichnet ein Gerüst zur Programmierung einer Anwendung.
Es gibt die grundlegenden Komponenten und deren Zusammenspiel innerhalb eines Systems vor.

Entwickelte Systeme auf Basis eines PHP-Framework wie das von Symfony kann zum Beispiel als eine definierte Aufgabe das Zusammenwirken von Teilen eines Computersystems für eine bestimmte Ausgabe am Bildschirm (Destkop) haben.

PHP-Framework - das Prinzip erklärt an einem 'Hello World'
PHP-Framework - das Prinzip erklärt an einem "Hello World"

Framework

Ein Framework (englisch für Rahmenstruktur) ist ein Programmiergerüst, das in der Softwaretechnik, insbesondere im Rahmen der objektorientierten Softwareentwicklung sowie bei komponentenbasierten Entwicklungsansätzen, verwendet wird.
...
Ein Framework ist selbst noch kein fertiges Programm, sondern stellt den Rahmen zur Verfügung, innerhalb dessen der Programmierer eine Anwendung erstellt, wobei u. a. durch die in dem Framework verwendeten Entwurfsmuster auch die Struktur der individuellen Anwendung beeinflusst wird.

Das Konzept für dieses Tutorial

Am Anfang war die Idee: Entwickle ein kleines Lernprogramm, welches das grundsätzliche Prinzip eines PHP-Framework erklärt. Nutze dazu ein Hallo-Welt-Programm, das auf möglichst einfache Weise zeigen soll, welche Anweisungen oder Bestandteile dafür benötigt werden.
Binde für dieses Tutorial Bestandteile des PHP Symfony Framework ein und erkläre sie.

Das PHP-Framework Symfony stellt dem Entwickler also bestimmte Komponenten und Entwurfmuster zur Verfügung. Diesen Rahmen und die angebotenen Module kann der Software-Programmierer für die Entwicklung einer Software nutzen. Die so entstehende Software soll eine bestimmte Aufgabe erfüllen.
Jedes der im Framework angebotenen Module kann auch unabhängig von den anderen eingesetzt werden und funktioniert völlig selbstständig. So auch die Komponenten des Symfony Framework

Symfony Components

Die Symfony Komponenten bilden für die Webentwicklung typische Grundfunktionen ab. Sie stellen die Basis des vollständigen Symfony-Frameworks dar, können aber auch für sich allein eingesetzt werden, da sie über keine festgelegten Abhängigkeiten verfügen.

Das Lernprogramm PHP-Framework für Einsteiger, das Prinzip erklärt an einem "Hello World" stellt sich zur Aufgabe, grundlegend die Arbeitsweise eines PHP-Framework zu erklären. Zu diesem Zweck integriert dieses Tutorial Entwurfsmuster und Module, welche im Symfony Framework ebenfalls verwendet werden. Zu den von Symfony benutzten Modulen gehören Teile des Pattern (Entwurfmusters) Model View Controller (MVC), der Dependency Injection (DI), Dependency Injection Container (DIC) und Unit Test (Modultest).

Im Zusammenspiel dieser Komponten soll unter bestimmten Vorrausetzungen in dieser Anwendung ein individuelles sprachspezifisches "Hello World" am Bildschirm ausgegeben werden. Diese Vorraussetzungen werden von User (Benutzer) der Softwaresytems durch eine Eingabe am Computer gesetzt.

Warum setzt man Frameworks ein?

Bei der Suche nach einer Antwort, werden folgende Punkte immer wieder gennant und sind die wesentlichen Gründe, welche für einen Einsatz eines Framework sprechen:
  • ein Framework liefert im Packet Elemente, die Programmierer für die Entwicklung nutzt
  • Konfigurationen und Schnittstellen sind teilweise schon integriert, das verringert den Zeitaufwand für das Schreiben des Quelltextes einer Anwendung
  • Geeignet für die Teamarbeit, da alle Teilnehmer das gleiche Gerüst nutzen
  • in der Regel sind Frameworks gut dokumentiert

Prinzip PHP-Framework, ein "Hello World" in Deutsch. Die Aufgabe der Software:

  • Ausgabe am Destkop
    • Für die Interaktion User ⇔ Software ein Menü Auswahl "Hello World" in Deutsch, Englisch und Spanisch
    • String Hello World in gewünschter Sprache
    • String Danksagung für Nutzung des Lernprogramm PHP-Framework, ein "Hello World" erklärt in Deutsch das Prinzip
  • Modultest ( Unit Test )
    • Einzelteile (Module) der Software des Tutorial auf korrekte Funktionalität zu prüfen

Benutzte Module, Komponenten und Entwurfsmuster

  • Model View Controller (MVC) Entwurfsmuster (Pattern)
  • Dependency Injection (DI) Entwurfsmuster (Pattern)
  • Dependency Injection Container(DIC) Modul
  • Modultest (Unit Test), PHPUnit

Die Integration oder auch Einbindung der einzelnen Module und Entwurfmuster erfolgt in vier Schritten, jeder Teil dieses Lernprogramm in Deutsch baut auf den vorhergehenden Teil des Tutorial auf.