nerviger Kleinkrams

Ich war vorhin mal wieder dabei ein bisschen was in PHP zu programmieren. Unter anderem eine Klasse zum Handling von Listen. Eine ähnliche Klasse hatte ich neulich im Rahmen eines Tutorenjobs schon mal in Java implementiert, insofern war es also eigentlich nur ein bisschen Schreibarbeit. Allerdings fielen mir zwei Sachen sehr unangenehm auf. Dadurch das die Funktionen von PHP nicht in irgendwelche Klassen oder Namespaces unterteilt sind war es mir weder möglich meine Klasse “List” zu nennen, noch ihr die Methode “empty” zu geben. Denn list() und empty() haben unter PHP schon eine andere Bedeutung. Das sind dann so die kleinen aber feinen Unterschiede an denen man merkt das Java mehr durchdacht und strikter umgesetzt ist.

Edit: Wobei der PHP-Interpreter ja auch einfach so schlau sein könnte zu erkennen in welchem Zusammenhang solche Begriffe gebraucht werden. Denn ein “class List { […] }” macht mit PHPs list()-Funktion irgendwie nicht allzuviel Sinn.

4 Comments


  1. Klassen- und Funktionsnamen leben in PHP durchaus in eigenen Namensräumen (ob das eine gute Idee ist ist natürlich eine andere Frage).

    Das Problem ist nämlich, dass list und empty gerade KEINE Funktionen sind, sondern Schlüsselwörter (wie return, if, usw.).


  2. Deswegen ist list() auch unter “Array-_Funktionen_” und empty() unter “_Funktionen_ zur Behandlung von Variablen” zu finden. 😉
    Nein, nein. Schlüsselwörter sind in meinen Augen was anderes.


  3. Oder dir könnte “Anmerkung: Da dies ein Sprachkonstrukt und keine Funktion ist (…)” auffallen. Aber es hat sich jetzt ja geklärt 😉

Leave a Reply

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