Tach!
Mir fehlt eigentlich immer das Unit-Konzept von Turbo-Pascal, bei dem jede Funktion überdeckt werden kann, ohne sie damit unzugänglich zu machen. Will man das Original, oder diejenige aus einer speziellen eingebundenen Unit, muss man nur einen qualifizierten Bezeichner benutzen.
Namensräume/Namespaces gibt es seit PHP 5.3.
Und die Möglichkeit der Schachtelung von Funktionen finde ich dort auch gut.
Mit anonymen Funktionen ist Ähnliches erreichbar.
dedlfix.