| |
| * Link führt ins Internet |
|
| |
Nützliche OOP-Codeschnipsel
|
|
Objekte entfernen
Um ein Objekt zu explizit zu entfernen können sie mit Hilfe von unset() das Objekt entfernen.
Beispiel
// Objekt erzeugen
$meinAuto = new Auto;
...
// Objekt entfernen
unset($meinAuto)
|
Objekte klonen
Sie wollen eine neue Kopie eines bereits bestehenden Objekts erzeugen. Zum Beispiel haben Sie ein Objekt, das eine E-Mail-Sendung enthält, und Sie wollen diese kopieren, um sie als Grundlage für eie Antwortnachricht zu verwenden.
Beispiel
<?php
class Mensch
{
var $name;
function Mensch($name) {
$this->name = $name;
}
function redet() {
echo $this->name . " redet<br>";
}
function rennt() {
echo $this->name . " rennt<br>";
}
}
// Objekt erzeugen
$mensch1 = new Mensch("Caroline");
$mensch1->redet();
$mensch1->rennt();
// Objekt klonen
$mensch2 = $mensch1;
// Klon
$mensch2->name = "Matthias";
$mensch2->redet();
$mensch2->rennt();
// Objekt
$mensch1->redet();
?>
|
Ausgabe
Caroline redet
Caroline rennt
Matthias redet
Matthias rennt
Caroline redet
|
Objekt-Referenzen
Sie wollen zwei Objekte derart verknüpfen, dass bei der Modifikation des einen gleichzeitig auch das andere verändert wird. Dann ist Ihnen =& behilflich. Hiermit können Sie ein Objekt einem anderen als Referenz zuweisen.
Beispiel
<?php
class Mensch
{
var $name;
function Mensch($name) {
$this->name = $name;
}
function redet() {
echo $this->name . " redet<br>";
}
function rennt() {
echo $this->name . " rennt<br>";
}
}
// Objekt erzeugen
$mensch1 = new Mensch("Caroline");
$mensch1->redet();
$mensch1->rennt();
// Objekt Referenz
$mensch2 =& $mensch1;
// Referenz
$mensch2->name = "Matthias";
$mensch2->redet();
$mensch2->rennt();
// Objekt
$mensch1->redet();
?>
|
Ausgabe
Caroline redet
Caroline rennt
Matthias redet
Matthias rennt
Matthias redet
|
Laden von Klassenbibliotheken
Ein weiterer sinnvoller Einsatz von Klassen besteht darin, diese in eine separate Datei auszulagern und via require-Anweisung einzuladen. Die require-Anweisung sollte möglichst frühzeitig im Code eingesetzt werden, da Klassen erst nach der Definition zur Verfügung stehen:
<?php
require ("klassen.php");
$meinWarenkorb = new Warenkorb;
$meineBestellung = new Bestellung;
?>
|
In der Datei selbst können beliebig viele Klassen definiert werden. Sie sollten jedoch möglichst kein Code ausserhalb von Klassendefinitionen unterbringen. Da dieser sonst bereits während der Einbindung ausgeführt wird.
|
|
|
|
|
|
|