PHP-Frameworks optimal einsetzen (Teil 4)
09.01.2023, 08:56 Uhr
Mit Datenbanken arbeiten
PHP-Applikationen greifen häufig auf Datenbanken zu. Das Framework Yii bietet dafür umfassende Unterstützung, beginnend bei der Anbindung der Datenbanken, über eine Repräsentation der Daten bis zur Darstellung auf der Benutzeroberfläche.
Im letzten Teil dieser Artikelserie haben wir die Arbeit mit Datenbanken für Applikationen, welche auf der Basis des Yii-Frameworks in PHP entwickelt werden, betrachtet. Um Daten aus einer Datenbank in einer PHP-Anwendung zu verarbeiten, müssen wir die folgenden Aufgaben bewältigen: Verbindung zur Datenbank herstellen, Datenstruktur entsprechend der Datenbankstruktur im Quelltext definieren, Abfrage der Daten und Anzeige der Daten auf der Oberfläche.
Die Daten können in den unterschiedlichsten Datenbanken gespeichert werden. Oft sind es relationale Datenbanken, wie MySQL oder MSSQL, aber auch zunehmend NoSQL-Datenbanken, wie MongoDB. Damit man sich nicht mit den unterschiedlichen Datenbanktreibern herumschlagen muss, kommt meist eine generische Datenbankschnittstelle wie PDO zum Einsatz, über welche der Zugriff auf die Datenbank hergestellt wird. Damit hat man eine allgemein zu verwendende Datenbankschnittstelle – unabhängig von der tatsächlich zum Einsatz kommenden Datenbank. Auf diese Weise kann man zu einem späteren Zeitpunkt die Datenbank auch bei Bedarf austauschen (Datenbankmigration).
Die Daten müssen im Programm in einer entsprechenden Datenstruktur abgelegt und mit der Datenbank synchronisiert werden. In relationalen Datenbanken werden die Daten in Tabellenform gespeichert. Im PHP-Programm erfolgt eine Speicherung der Daten in Objekte, welche wiederum zu Klassen zugehörig sind. Diese Transformation der Daten zwischen den Tabellen der Datenbank und der Objekte im Speicher bezeichnet man als objektrelationales Mapping. Im Quellcode des Programms wird die Datenbank dann in Form von Klassen und Objekten abgebildet, was die Programmierung erleichtert. ActiveRecord ist die Schnittstelle im Yii-Framework, welches für das Mapping der Daten sorgt.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar