dedlfix: Script zur Erzeugung von verschachtelten Menüs

Beitrag lesen

echo $begrüßung;

Deine Klasse heißt VMenü. Das tippt sich schwer für jemanden der keinen UTF8-fähigen Editor hat. Obwohl es funktioniert sollte doch bei Bezeichnern auf Umlaute verzichtet werden.

Spricht für solche Leute etwas dagegen, die Klasse einfach umzubenennen?

Bei dem zweimaligen Vorkommen mag das akzeptabel sein. Wenn es allerdings viele solcher Stellen gibt, dann hast du deinen Anwendern unnötige Arbeit generiert.

Überhaupt verwendest du bunt durcheinander deutsche und englische Namen für Variablen/Funktionen. Eine einheitliche Benennung fände ich besser.

Dann mach ich heute Abend alles deutsch.

Das hatte ich auch mal probiert. "Ich bin Deutscher also können meine Klassen/Objekte/Variablen/Funktionen auch deutsche Namen tragen." Englisch hat gegenüber dem Deutschen den Vorteil einer einfacheren und vor allem (größtenteils) einheitlichen Mehrzahlbildung. "Hersteller" ist ein Wort, das in Einzahl und Mehrzahl gleich geschrieben wird. Was tun, wenn man einen Bezeichner für einen und einen für mehrere Hersteller braucht? Mit "manufacturer" und "manufacturers" hat man es da leichter.

Gut dokumentierter Quelltext liest sich, auch wenn es der eigene ist, nach einiger Zeit besser als völlig unkommentierter.

Auf der Webseite werden die Methoden und Funktionen der Klasse im Stil der PHP-Dokumentation
erläutert. Reicht das nicht?

Ich würde gern nein sagen, nur fallen mir momentan nicht wirklich stichhaltige Argumente ein.
Vielleicht: Wenn du im phpdoc-Stil gleich während der Entwicklung kommentierst/dokumentierst, brauchst du später nur ein phpdoc-Tool über dein Programm(paket) laufen zu lassen und hast eine fertig verlinkte API-Dokumentation.

Ich finde, die Verschachtelung entspricht dem Grundsatz "Keep it simple, stupid" (oder so).

Die Verschachtelung vielleicht, aber beim Lesen musst du ständig is_numeric($key) beachten.
foreach (...->children as $child) {
  Behandlung_ohne_Ausnahmen_beachten_zu_müssen;
}
ist meines Erachtens nach einfacher.

echo "$verabschiedung $name";