Zend Framework Forum Right Header

Zurück   Zend Framework Forum > Sonstiges > Offtopic

Antwort
 
Themen-Optionen Ansicht
Alt 06.08.2008, 17:38   #1
ChristianFischer
 
Benutzerbild von ChristianFischer
 
ChristianFischer eine Nachricht über ICQ schicken
Standard Namepsace in PHP

Huhu ,

bin gerade über folgendes gestolpert.

Zitat:
Namespaces
With PHP 5.3 coming up on the horizon, the Zend Framework API faces a re-design. While namespaces will hopefully lead to more readable code, Zend developers will finally need to start thinking about some standards for abstract classes and interfaces.
Irgendwie weiß ich nicht wie ich das verstehen soll. Kann mir das einer mal erklären ?
__________________
Wenn du gewinnen willst, musst du auch mal was gemeines und hinterlistiges machen. Oder wie die Franzosen sagen: bartesk sein.
ChristianFischer ist offline   Mit Zitat antworten
Alt 06.08.2008, 17:57   #2
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Mist, irgendwie ist der Text verschwunden .... Ich hatte hier voll den Prima Text -.- Nagut, jetzt gibt es nur die Zusammenfassung:

Über Namespaces. Da steht eigentlich das Wichtigste darüber drin, vorallen auch über die Probleme, die mit der Verwendung des doppelten Doppelpunkt (Scope Resolution Operator, "Paamayim Nekudotayim") als Trennsymbol für die einzelnen Namespaces und deren Unternamespaces in Bezug zu statischen Attributen und Klassenkonstanten.

Wie sie allerdings den letzten Halbsatz meinen, kann ich dir auch nicht so genau sagen. Ich denke, dass man sich in Zukunft (neue?, andere?) Gedanken machen muss, wie man konkrete bzw abstrakte Klassen und Interfaces voneinander unterscheidbar macht. Vergleiche dazu eine Java-Konvention abstrakte Klassen mit "A" (zB AController) und Interfaces mit "I" (zB "IRole") zu benennen. Ich kann mir vorstellen, dass damit gemeint ist, dass Namespaces ja eine logische Einheit bilden sollen. Im Fall vom ZF würde zB Zend_Loader (bzw Zend::Loader) im Namespace Zend liegen, obwohl das eigentlich falsch ist. Auffälliger vielleicht bei Zend_Translate (Zend::Translate): Da gibt es ja das darunter liegende Paket wirklich, aber die "Hauptklasse" liegt im übergeordneten Namespace. Is irgendwie murksig.
Kein Schimmer, ob das damit gemeint ist. Schließlich ging es bei mir plötzlich auch nur noch um konkrete Klassen Ein quasi-Standard ist aber nur wünschenswert! Und ich hoffe, dass Zend Neon bald darauf angepasst wird


Edit:
Finde den Anfang meines ersten Links aber unglaublich treffend:
Zitat:
Main assumption of the model is that the problem that we are to solve is the problem of the very long class names in PHP libraries. We would not attempt to take autoloader's job or create packaging model - only make names manageable.

Geändert von KingCrunch (06.08.2008 um 18:22 Uhr).
KingCrunch ist offline   Mit Zitat antworten
Alt 06.08.2008, 19:16   #3
akkie
 
Standard

http://weierophinney.net/matthew/arc...o-PHP-5.3.html
http://usrportage.de/archives/893-Over-abbreviated.html
akkie ist offline   Mit Zitat antworten
Alt 06.08.2008, 19:33   #4
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Das mit namespace::* für den aktuellen Namespace wusste ich bisher nicht, find ich aber sinnvoll. Wennde noch weitere Infos hast, her damit

Edit:
Matthew deutet selbst auch auf das Porblem hin, dass Zend::View nicht im Namespace Zend::View liegt. Der Vorschlag mit Zend::View::AView wirkt aber doppelt gemoppelt (View in View quasi). Und großer Fan von ungarischer Notation bin ich eigentlich nicht -.- Wenn man dann konsequent sein will, muss man eben diese Notation auch für Eigenschaften und Variablen einfügen ($aFoo für Array, iId für Integer usw). Na, man muss es auch net übertreiben

Geändert von KingCrunch (06.08.2008 um 19:39 Uhr).
KingCrunch ist offline   Mit Zitat antworten
Alt 06.08.2008, 19:36   #5
Bleistift
 
Benutzerbild von Bleistift
 
Standard

An diese Probleme hab ich noch gar nicht gedacht...


Ich finde IView, AView etc. auch nicht wirklich schön...
__________________
Moderator
Kein Support via Foren-PN
Bleistift ist offline   Mit Zitat antworten
Alt 03.09.2008, 17:04   #6
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Es gibt ein neues RFC über Namespaces. Anscheinend sind während des Alpha-Tests neue Punkte aufgekommen, die dort behandelt werden.
KingCrunch ist offline   Mit Zitat antworten
Alt 09.11.2008, 21:22   #7
akkie
 
Standard

Hi

Ich weiß nicht ob einer von euch das ganze Thema mit den Namespaces in PHP 5.3 verfolgt. In einem neuen RFC wird jetzt vorgeschlagen den Namespace-Separator von :: in \ zu verwandeln. Steckt da von euch jemand tiefer drinn? Ich frage mich nämlich gerade wieso da nicht einfach ein Punkt genommen wird? Das kennt man von Java, C#, AS ... . Liegt es daran das der Compiler den nicht zu hundert Prozent beim kompilieren erkennt, da für die Stringverknüpfung verwendet wird?

http://wiki.php.net/rfc/namespaceseparator

Mfg Akkie

Geändert von akkie (09.11.2008 um 21:24 Uhr).
akkie ist offline   Mit Zitat antworten
Alt 09.11.2008, 21:39   #8
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
In einem neuen RFC wird jetzt vorgeschlagen den Namespace-Separator von :: in \ zu verwandeln. Steckt da von euch jemand tiefer drinn? Ich frage mich nämlich gerade wieso da nicht einfach ein Punkt genommen wird?
Gegenfrage: Wieso sollte man?
Zitat:
Das kennt man von Java, C#, AS ...
Is kein Grund
Zitat:
Liegt es daran das der Compiler den nicht zu hundert Prozent beim kompilieren erkennt, da für die Stringverknüpfung verwendet wird?
Is auf jeden Fall denkbar.

Ich verfolge das etwas unregelmässig, das Problem mit :: is mir aber auch schon begegnet. Welches Symbol nun letzten Endes verwendet wird ist vergleichsweise Wurscht. Die Java-Variante ist zB auch nicht optimal, weil es dort keine Unterscheidung zwischen Klassen- (: und Objekt-(->), und Namespace (jetz wohl \)-Kontext gibt. Insofern denken die sich sicher was dabei
KingCrunch ist offline   Mit Zitat antworten
Alt 09.11.2008, 22:01   #9
akkie
 
Standard

Zitat:
Gegenfrage: Wieso sollte man?
Weil es ein Konzept ist was viele Sprachen auch implementieren. Ich bin ein Fan von schönem/strukturiertem Code und ein My.Namespace sieht für mich einfach besser aus als My\Namespace. Ich frage mich nur wieso man sich Gedanken macht und dann Trenner wie **, ^^, ... vorschlägt wenn es bereits Konzepte gibt die von den Entwicklern akzeptiert wurden.
akkie ist offline   Mit Zitat antworten
Alt 09.11.2008, 22:17   #10
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von akkie Beitrag anzeigen
Weil es ein Konzept ist was viele Sprachen auch implementieren. Ich bin ein Fan von schönem/strukturiertem Code und ein My.Namespace sieht für mich einfach besser aus als My\Namespace. Ich frage mich nur wieso man sich Gedanken macht und dann Trenner wie **, ^^, ... vorschlägt wenn es bereits Konzepte gibt die von den Entwicklern akzeptiert wurden.
Weil es schlicht andere Sprachen sind? Wie du schon sagst: Der Punkt . ist der Stringkonkatenator, in Java eben nicht. "Sie für mich einfach besser aus" ... Naja, besser oder schlechter lesbar wirds dadurch allerdings auch nicht. Ich finds zum Beispiel das Dollarzeichen $ am Anfang von Variablen auch übersichtlicher, als ohne (wie bei Java)

Nebenbei gibt es unter [1] noch gaaanz viele andere Infos, die deine Fragen klären könnten, in dem von dir verlinkten Proposal findet sich ja auch die Tabelle, die die Pros und Kontras listet.

[1] http://wiki.php.net/rfc/backslashnamespaces
KingCrunch ist offline   Mit Zitat antworten
Alt 10.11.2008, 08:57   #11
deetee
 
Benutzerbild von deetee
 
Standard

Zitat:
Zitat von akkie Beitrag anzeigen
Hi

Ich weiß nicht ob einer von euch das ganze Thema mit den Namespaces in PHP 5.3 verfolgt. In einem neuen RFC wird jetzt vorgeschlagen den Namespace-Separator von :: in \ zu verwandeln. Steckt da von euch jemand tiefer drinn? Ich frage mich nämlich gerade wieso da nicht einfach ein Punkt genommen wird? Das kennt man von Java, C#, AS ... . Liegt es daran das der Compiler den nicht zu hundert Prozent beim kompilieren erkennt, da für die Stringverknüpfung verwendet wird?

http://wiki.php.net/rfc/namespaceseparator

Mfg Akkie
Ein Parser würde mit dem Punkt schon zurecht kommen, auch wenn er doppelt verwendet würde, allerdings wäre es eine unsaubere Lösung, wenn man für 2 verschiedene Dinge den selben Operator benutzt. Ich bin aber auch nicht für das Backslash, weil es nicht besonders komfortabel zu tippen ist. Ich fände ja diesen dreifach Doppelpunkt passend.
deetee ist offline   Mit Zitat antworten
Alt 10.11.2008, 09:31   #12
akkie
 
Standard

Zitat:
Ich fände ja diesen dreifach Doppelpunkt passend.
Den würde ich auch dem Backslash vorziehen. So wie ich das raus gelesen habe, steht der Backslash aber so gut wie fest.

Mfg Akkie
akkie ist offline   Mit Zitat antworten
Alt 10.11.2008, 10:12   #13
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von deetee Beitrag anzeigen
Ein Parser würde mit dem Punkt schon zurecht kommen, auch wenn er doppelt verwendet würde, allerdings wäre es eine unsaubere Lösung, wenn man für 2 verschiedene Dinge den selben Operator benutzt. Ich bin aber auch nicht für das Backslash, weil es nicht besonders komfortabel zu tippen ist. Ich fände ja diesen dreifach Doppelpunkt passend.
Der Backslash wurde eben aus genau dem Grund gewählt: Die meisten sind dann doch eher englischsprachig und dort ist der Backslash ohne Umschalt erreichbar.
KingCrunch ist offline   Mit Zitat antworten
Alt 10.11.2008, 12:17   #14
DennisBecker
 
DennisBecker eine Nachricht über ICQ schicken
Standard

Ebenso hier beim Numpad
__________________
Neues Projekt: zandman.de - Status: WIP
DennisBecker ist offline   Mit Zitat antworten
Alt 10.11.2008, 12:22   #15
christians
 
Standard

Zitat:
Zitat von DennisBecker Beitrag anzeigen
Ebenso hier beim Numpad
Was hast Du denn für ein Numpad?
christians ist offline   Mit Zitat antworten
Alt 10.11.2008, 12:23   #16
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von DennisBecker Beitrag anzeigen
Ebenso hier beim Numpad
peinlich genug, ich musste es ausprobieren Aber das is der Slash, nich der Backslash.
Finds aber unterhaltsam, dass ausgerechnet Informatiker mit "Ich finds besser" und Optik argumentieren, aber kein Wort zu den Argumenten verlieren, mit den das Proposal lang und breit erläutert, wieso der Backslash die Wahl ist/war. Zum Beispiel:
Zitat:
Problems:
  • ...
  • to many, \this\way will look weird at first.
KingCrunch ist offline   Mit Zitat antworten
Alt 10.11.2008, 12:41   #17
DennisBecker
 
DennisBecker eine Nachricht über ICQ schicken
Standard

Ahjo, stimmt, ist ja / und nicht \ ... ICh benutze das Numpad nur so selten und meist dann auch nur, um Zahlen zu tippen ...

Zum Thema \ ist so schlecht erreichbar ... Ich kenne viele Programmierer, die zum Coden auf englische Tastatur umstellen um weniger Tastenkombinationen drücken zu müssen. Ich denke irgendwann gewöhne ich mir das auch noch an
__________________
Neues Projekt: zandman.de - Status: WIP
DennisBecker ist offline   Mit Zitat antworten
Alt 10.11.2008, 16:05   #18
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zum Thema \ ist so schlecht erreichbar ... Ich kenne viele Programmierer, die zum Coden auf englische Tastatur umstellen um weniger Tastenkombinationen drücken zu müssen. Ich denke irgendwann gewöhne ich mir das auch noch an
Ich finds eigentlich wenig tragisch. Wie du schon sagst stellen viele sowieso ihr Layout um, und das aus gutem Grund: So gut wie alle Sprachen nutzen eben das englische Layout für Entscheidungen, welche Syntax praktischer is oder nicht.
KingCrunch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Powered by vBulletin® Version 3.6.12 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:14 Uhr.
Webdesign, CMS, Internet Anwendungen mit Zend
Framework aus Darmstadt, Frankfurt, Rhein-Main

presented by omoo

Skin Design Provided By Talk vBulletin