echo $begrüßung;
Wahrscheinlich macht es keinen Sinn, so ein kleines Script in OOP zu schreiben, wie gesagt, es geht nur um das Verständnis.
Etwas übertrieben ist es schon, besonders, wenn man nur dieses einfache Beispiel betrachtet. Geht man davon aus, eine wiederverwendbare Bibliothek zu erstellen, wird das Ganze schon sinnvoller.
Vorab jedoch etwas anderes:
// htmlspecialchars abkürzen
function h($val) {
$val = isset($val) ? htmlspecialchars($val) : '' ;
return $val;
}
So ist das nicht sinnvoll. Um innerhalb einer Funktion eine Variable auf Vorhandensein zu testen, muss man diese per Referenz übergeben. Ansonsten ergibt es bereits beim Funktionsaufruf einen E_NOTICE-Meldung. Wenn man die Referenz übergibt, darf man der Variablen innerhalb der Funktion nichts zuweisen, wenn der Originalwert außerhalb der Funktion erhalten bleiben soll. Und das ist in dem Fall auch gar nicht notwendig. So wäre es richtig:
function h(&$val) {
return isset($val) ? htmlspecialchars($val) : '' ;
}
ich krieg das mit OOP in PHP irgendwie nicht auf die reihe, auf den meisten Tutorialseiten wird was von Autos und Fahrern geschrieben, damit kann ich aber nichts anfangen, ich brauche ein Praktisches Beispiel.
Man könnte anfangen, ein HTML-Dokument oder ein Fragment davon (ein Formular, eine Tabelle) mit Objekten zusammenzusetzen. Dazu benötigt man ein abstraktes Element, das schonmal alle grundlegenden Eigenschaften und Fähigkeiten eines HTML-Elements mitbringt, als da unter anderen wären: Name, Attribute, Liste der erlaubten Attribute, Kindelemente, Liste der erlaubten Kindelemente, Suche nach Kindelementen, Rendern (inklusive der Kindelemente).
Davon abgeleitet werden dann Klassen für die im Standard definierten HTML-Elemente erstellt. Weiterhin können spezialisierte Gebilde wie Formulare (komlette, nicht nur <form>-Element und Kinder - also mit Datenhandling) oder Datentabellen abgeleitet werden.
Und damit bekommt man schonmal eine große HTML-Elemente-Library, die locker den Rahmen einer Forumsantwort sprengt, aber nur als ein vom eigentlichen Projekt verwendeter Baustein fungiert.
Wenn du erst dabei bist, die OOP zu erlernen, ist die HTML-Lib Overkill. Du könntest anfangen, indem du zunächst die einzelnen Elemente deiner Anwendung ermittelst. Suche die Einheiten, die funktional und nach Daten klar separiert werden können, also eigenständig leben können. Die kannst du dann in Code gießen, wobei dann jeweils eine Klasse rauskommt. Mitunter erkennt man, dass es ähnliche Elemente gibt, die viele Gemeinsamkeiten haben, aber auch deutliche Unterschiede. Dann kann man eine abstrakte Klassen mit den Gemeinsamkeiten erstellen und spezialisierte ableiten für die Unterschiede.
echo "$verabschiedung $name";