OOP mit PHP5 - Einstiegstutorial 3 - Die MySQL-Klasse Teil 1
1. Die Abschnitte
- Einführung
- Die MySQL-Klasse Teil 1
- Die MySQL-Klasse Teil 2
- Die MySQL-Klasse Teil 3
- Die Abstract-Klasse Teil 1
- Die Abstract-Klasse Teil 2
- Nutzung der Klassen
2. Der grundsätzliche Aufbau
Unsere MySQL-Klasse soll die folgenden Anforderungen erfüllen:
- Eine Verbindung zum MySQL-Server und dann zur entsprechenden Datenbank herstellen.
- Die Verbindung automatisch trennen.
INSERT
-,UPDATE
-,DELETE
- oderREPLACE
-Anfragen ausführen.SELECT
-Anfragen ausführen und das entsprechende Ergebnis zurückliefern.
Struktur der Klasse
Aus diesen Anforderungen ergeben sich dann folgende Eigenschaften und Methoden für unsere Klasse:
-
Eigenschaften
$con
für den "Zeiger" auf die Verbindung zum Server$result
für den "Zeiger" auf die Abfrage
-
Methoden
__construct
als Konstruktormethode für die automatische Verbindung zum MySQL-Server und Datenbank__destruct
als automatische Trennung zum MySQL-ServerdoQuery
fürINSERT
-,UPDATE
-,DELETE
- oderREPLACE
-AnfragendoSelect
fürSELECT
-Anfragen
3. Sichtbarkeit
Eigenschaften
Da wir alle Eigenschaften innerhalb der Klasse verarbeiten, setzen wir die Sichtbarkeit auf private
.
<?php
class MySQL
{
private $con;
private $result;
}
?>
Erläuterung
$con
ist der "Zeiger" zur entsprechenden Verbindung zum MySQL-Server und $result
für den auf die aktuelle Abfrage.
Methoden
Da wir den Zugriff auf diese Methoden über unsere "Abstraktionsschicht" steuern, setzen wir die Sichtbarkeit bei allen auf
protected
. Aber aufgepasst! Es gibt da eine kleine Feinheit, zu der ich später komme. Ich warne euch nur mal
vor.
<?php
class MySQL
{
...
protected function __construct ()
{
...
}
protected function __destruct ()
{
...
}
protected function doQuery ()
{
...
}
protected function doSelect()
{
...
}
}
?>
Erläuterung
Den Konstruktor __construct
nutzen wir später zum Verbindungsaufbau und den Destruktor __destruct
zum Trennen
der Verbindung. doQuery
ist die Methode für die INSERT
-, UPDATE
-, DELETE
- oder
REPLACE
-Anfragen und doSelect
für die SELECT
-Anfragen.
zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt