phoenitydawn

August 30th, 2007

nerviger Kleinkrams

Posted by Dunedan in PHP, Programmieren

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 Responses to 'nerviger Kleinkrams'

Subscribe to comments with RSS or TrackBack to 'nerviger Kleinkrams'.

  • ichbinderdude says:

    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.).

  • Dunedan says:

    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.

  • Dunedan says:

    Ok, vielleicht hatte der allwissende M. ja doch recht. Zumindest hat mich n. gerade darauf hingewiesen, dass laut http://www.php.net/manual/de/reserved.php empty() und list() Schlüsselwörter sind. Na ja, alles ein bisschen merkwürdig wie ich finde.

  • ichbinderdude says:

    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

  • :mrgreen:
  • :neutral:
  • :twisted:
  • :shock:
  • :smile:
  • :???:
  • :cool:
  • :evil:
  • :grin:
  • :oops:
  • :razz:
  • :roll:
  • :wink:
  • :cry:
  • :eek:
  • :lol:
  • :mad:
  • :sad: