PHP und OOP – Eine MySQL Klasse

PHP - Objektorientierte Programmierung mit MySQLDer dritte Teil des Kurses stellt eine komplexe Datenbankklasse vor, mit der die Verbindung zu MySQL Datenbanken gesteuert werden kann.

Das Beispiel aus Teil 2 lässt wohl kaum irgendeine Stärke
der OOP aufblitzen. Eine richtige nützliche Klasse ist eine,
die mit einer MYSQL-Datenbank kommuniziert. Methoden einer solchen
Klasse wären, Verbindung aufbauen, Datenbank auswählen,
Abfragen senden
Auch anhand dieses Beispiel lernen Sie eine weitere Möglichkeit
der Arbeit mir Objektorientiertem PHP kennen.

<?php

class db
{
var $connid;
var $erg;

function db($host,$user,$passwort)
{
if(!$this->connid = mysql_connect($host, $user, $passwort))
{
echo "Fehler beim Verbinden…";
}
return $this->connid;
}

function select_db($db)
{
if (!mysql_select_db($db, $this->connid))
{
echo "Fehler beim Auswählen der DB…";
}
}

function sql($sql)
{
if (!$this->erg = mysql_query($sql, $this->connid))
{
echo "Fehler beim Senden der Abfrage…";
}
return $this->erg;
}

}

$db = new db("localhost","","");
$db->select_db("zeitschriften");
$erg=$db->sql("SELECT * FROM zeitschrift_cat");


?>

Dieses Beispiel ist wie sie sehen um einiges Komplexer. Es besteht
aus drei Methoden, die erste Methode ist bereits eine der wichtigsten.
Sie öffnet eine neue Verbindung mit der Datenbank.
Diese Methode wird auch als Konstruktor bezeichnet. Sie hat
den selben Namen wie die Klasse an sich, und wird deshalb direkt
mit dem Ableiten eines neuen Objektes ausgeführt.
Ein Konstruktor ist sehr hilfreich, mit ihm kann man z.B. nicht
vorhandene Anfangsbedingungen schaffen. Da diese Methode einige
Parameter benötigt, müssen diese direkt bei dem Ableiten
des Objektes übermittelt werden.
Es werden dem Objekt zwei Eigenschaften gegeben, die $connid,
in welcher der Verbindungshandler gespeichert ist, und die Eigenschaft
$erg
. In ihr werden Daten aus einer Datenbankabfrage gespeichert,
auf welche man dann über das Objekt zugreifen kann.

In der ersten Methode wird der Eigenschaft connid ein Wert zugewiesen,
dieser resultiert aus der entstandenen Verbindung.
Dieser Wert wird dann zurückgegeben, sodass man über das
Objekt auf diesen zugreifen kann.
Über die zweite Methode wird die Datenbank ausgewählt.
Der Aufruf der Methode erfolgt mit der Übermittlung der Datenbank,
die ausgewählt werden soll:

$db->select_db("zeitschriften");

Die Methode "sql($sql)" übermittelt Datenbankabfragen.
Ist die Datenbankabfrage erfolgreich, wird das Ergebnis der Eigenschaft
"erg" übermittelt. Auf diese Daten kann man
dann extern, also über das abgeleitete Objekt wieder zugegriffen
werden.

Diese Klasse ist noch erweiterbar. Man kann eine Methode programmieren,
welche die Daten ausgibt, oder verändert, und erneut in der
Datenbank speichert.
Man kann die einzelnen Methoden auch untereinander Verknüpfen,
sodass eine feste Handlungskette entsteht, und man nur noch das
Ergebnis hat.

Im letzten Teil des OOP Kurses lernen Sie die Vererbung mit PHP
kennen.

(tf)

This entry was posted in PHP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *