So. Dies ist der erste echte Post. Dies sind meine Gedanken die ich an keine Person ableiten konnte und deshalb diesen Blog als Ventil brauchen.
Ich habe mich gerade mit dem in PHP 5.3 neuen Feature namespaces beschäftigt. An sich eine überfällige Sache. Dies sieht man schnell wenn man sich mal die Namensnennung der Klassen im Zend-Framekwork anschaut.
Mir ist das Feature schon seit Monaten bekannt, aber in bestehenden Projekten hat man nicht das Glück (bisher dachte ich zumindest es würde ein Glück werden) dies einsetzten zu können.
Also habe ich mir aus Spaß gedacht: Fang doch einfach mal bei Null an. Wie würde man ein Framework jetzt mit dem Feature aufbauen.
Nur bin ich nicht weit gekommen. PHP nutzt das use-Keyword ähnlich anderen Programmiersprachen, um bereits bekannte Klassen im aktuellen Kontext ohne "full qualified name" benutzen zu können (siehe). Nur kollidiert dieses "bereits bekannte Klassen" mit dem __autoload-Feature das bisher in PHP wichtig war.
Solang man den "full qualified name" (z.B. »new \foo\bar\Klasse()«) lädt, kann man mit autoload ohne Probleme die richtige Datei includen. Benutzt man stattdessen »use \foo\bar; new Klasse()« gibt es keine Möglichkeit im autoload die richtige Datei zu finden. Wenn man also nicht jedesmal die Klassen-Datei includen und den Namespace useen will...
»include "foo/bar/Klasse.php";
use \foo\bar;
new Klasse();«
...bleibt nur ALLE Dateien im Vorhinein zu includen, um dann nur noch das use-Kommando zu benutzen.
Das wäre aber in PHP bei durchschnittlichen Librarys so unperformant, dass es niemals in Frage kommt.
So, Luft ist raus. Danke dir Weltweites Spinnennetz.
PS. Falls wer Artikel (auch Englisch) kennt, die sich schon mit dem Thema beschäftigen, oder ich einem Irrtum unterliege, bin ich für Kommentare immer dankbar.
Dieser Blog ist ein Ventil für Programmierer der sonst nicht weiß wen er mit seinem Leben nerven soll.
Freitag, 3. September 2010
YAUB (Yet Another Useless Blog)
Und da gibt es wieder einen Blog mehr in der weiten Welt des Internets...
Ich bin es langsam Leid kein Ventil für meine absurden Gedanken zu haben. Deshalb lass ich mich mal wieder für einen Social-Networking-Hype hinreißen. Ich bin halt auch nur ein Durchschnittsmensch:
Ich bin es langsam Leid kein Ventil für meine absurden Gedanken zu haben. Deshalb lass ich mich mal wieder für einen Social-Networking-Hype hinreißen. Ich bin halt auch nur ein Durchschnittsmensch:
- Ich leb' mit meiner Freundin seit Jahren in einer nicht geehelichten Lebensgemeinschaft in einer Miet-Wohnung in einer Großstadt mit 2 Katzen
- Ich bin bei Facebook, Twitter, MeinVZ, XING; habe eine G-Mail-, ein dutzend GMX- und einige anderen E-Mail-Adressen
- Ich spiele wie viele Millionen andere Menschen WoW
- Ich arbeite in einer 40 Stunden Woche am Computer
- ... und verbringe zu Hause nochmal mindestens genau so viel Zeit vorm Rechner
Also was über den Blog:
Mein Arbeitsumfeld als Programmier sind verschieden Open Source-Projekte. Dies Umfasst neben PHP auch: JavaScript, MySQL, Linux, Java, etc.
Ich rege mich aber auch des öfteren mal über kommerzielle Sachen wie Oracle, Windows... und achja Oracle auf.
Der Name des Blogs bezieht sich deshalb auf eine für PHP sehr bezeichnendes Feature: Magischen Konstanten.
Mein Arbeitsumfeld als Programmier sind verschieden Open Source-Projekte. Dies Umfasst neben PHP auch: JavaScript, MySQL, Linux, Java, etc.
Ich rege mich aber auch des öfteren mal über kommerzielle Sachen wie Oracle, Windows... und achja Oracle auf.
Der Name des Blogs bezieht sich deshalb auf eine für PHP sehr bezeichnendes Feature: Magischen Konstanten.
Abonnieren
Posts (Atom)