__NAMESPACE__

31/05/2013 - 23:14 von Stefan+Usenet | Report spam
Was hat man sich eigentlich dabei gedacht, als man __NAMESPACE__ in die
Welt gesetzt hat? Wozu kann ich die Konstante *sinnvoll* gebrauchen?

Wenn ich den aktuellen Namespace als Zeichenkette haben moechte, dann doch
primaer, um einen qualifizierten Klassennamen (aus dem eigenen Namespace)
als String irgendwohin zu uebergeben. Mache ich das, habe ich mit

| $class = __NAMESPACE__ . '\Class';

allerdings ein Ergebnis, das nur im Top-Level Namespace verwendbar ist
(abgesehen von Klassen, die sich selbst im TL-Space befinden), weil der
einleitende '\' fehlt. Schreibe ich statt dessen

| $class = '\\' . __NAMESPACE__ . '\Class';

so sieht das zum einen leicht seltsam aus, funktioniert zum anderen dann
aber wieder genau *nicht* fuer Klassen aus dem TL-Namespace, weil der
String mit zwei '\' beginnt.

Fange ich nun aber an, Fallunterscheidungen zu bauen, oder je nach Standort
der Klasse eine andere Anweisung zu schreiben, dann kann ich den Pfad auch
gleich jedes Mal ausschreiben...

*nerv*

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Streicheln mit Stefan - belegt werden mit Ironie.
(Sloganizer)
 

Lesen sie die antworten

#1 Niels Braczek
31/05/2013 - 23:52 | Warnen spam
Am 31.05.2013 23:14, schrieb Stefan Froehlich:

Was hat man sich eigentlich dabei gedacht, als man __NAMESPACE__ in die
Welt gesetzt hat?



Konsistenz. Es gibt schließlich auch __CLASS__, __FUNCTION__,
__METHOD__, ... Es handelt sich hier also um eine Sonderform der
"Symmetrie".

Wozu kann ich die Konstante *sinnvoll* gebrauchen?



Ich vermute, dass dieser Punkt bei der Entscheidung sekundàr war.
Symmetrie ist ein (durchaus sinnvoller) Aspekt bei einem API-Entwurf.

*nerv*



Es lohnt - glaube ich - nicht, sich darüber zu àrgern. Erfreue dich
stattdessen an der Symmetrie ;-)

MfG
Niels

| http://barcamp-wk.de · 3. Barcamp Westküste · Frühjahr 2014 |
| http://www.bsds.de · BSDS Braczek Software- und DatenSysteme |
| Webdesign · Webhosting · e-Commerce · Joomla! Content Management |

Ähnliche fragen