Gibt es eine etablierte Namenskonvention für PHP-Namespaces?

Lesezeit: 3 Minuten

Benutzer-Avatar
Ignas R

Bisher habe ich viele verschiedene Namenskonventionen für PHP-Namespaces gesehen. Manche Leute benutzen PascalCase\Just\Like\For\Classesetwas verwenden underscored\lower_case\nameseinige verwenden sogar die Java-Konvention für Paketnamen: com\domain\project\package.

Die Frage ist sehr einfach: Kann irgendeine dieser (oder anderer) Konventionen als etabliert bezeichnet werden? Wieso den? Werden einige von ihnen von Autoritäten wie Zend oder den Entwicklern bekannter PHP-Frameworks empfohlen?

Benutzer-Avatar
Ramsey

Eine Arbeitsgruppe für PHP-Standards, die sich aus Mitwirkenden an vielen verschiedenen PHP-Frameworks und -Projekten zusammensetzt, hat den folgenden Vorschlag für eine angemessene Verwendung von Namespaces gemacht:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md

  • Damit ist die Frage alles andere als beantwortet. Die einzige Erwähnung der Großschreibung, die ich sehe, ist “Alphabetische Zeichen in Anbieternamen, Namespaces und Klassennamen können aus einer beliebigen Kombination von Klein- und Großbuchstaben bestehen.”

    – mp

    30. Juni 2014 um 6:21 Uhr

Ich glaube nicht, dass Sie sagen können, dass an dieser Stelle etwas gut etabliert ist, aber es gibt einen RFC, der dies für PEAR2 diskutiert: http://wiki.php.net/pear/rfc/pear2_naming_standards

Meine Meinung ist, dass Namensräume eine Form von Variablen sind und daher der gleichen Konvention folgen sollten wie sie. Ich bevorzuge generell lowercase_underscore für freie Variablen (im Gegensatz zu Objektmitgliedern), also für meinen Geschmack am natürlichsten namespace\ClassName. Dies entspricht auch den gängigsten Konventionen aus anderen Sprachen. Andererseits könnte das gleiche Argument für Pseudo-Namespaces vor 5.3 angeführt werden, aber hier scheint der De-facto-Standard CamelCase zu verwenden.

Persönlich schreibe ich gerne Klassennamen in Großbuchstaben, Klassenattribute und Methoden in Kleinbuchstaben und Klassenattribute mit vorangestelltem Unterstrich.

Andere lokale Variablen schreibe ich auch in Kleinbuchstaben ohne Unterstrich als Präfix. Objektinstanzen werden immer in Großbuchstaben geschrieben usw. usw. Ich glaube nicht wirklich, dass es einen besten Weg gibt, Sie müssen nur Ihrem Codierungsstandard entsprechen. Dies gibt Ihnen den Vorteil, dass Sie Ihren Code schneller lesen können, und es sollte einen schnelleren Einblick geben, was an welchen Codezeilen passiert.

  • -1 Das Teilen Ihres persönlichen Standards trägt nicht zur Beantwortung dieser speziellen Frage bei. Keines der Dinge, die Sie erwähnen, bezieht sich auf Quellen, die Ihre Ansicht stützen. Kurz gesagt: Bitte konzentrieren Sie sich beim Posten einer Antwort auf die Frage.

    – Paul van Leeuwen

    17. Dezember 2016 um 11:47 Uhr

  • Obwohl Sie Recht haben, wurde diese Antwort vor über 7 Jahren gepostet.

    – Ben Fransen

    26. Januar 2017 um 14:40 Uhr

  • Stimmt, es ist schon eine ganze Weile her, ich schaue nie auf diese Daten. Erstaunlich, wenn man darüber nachdenkt: Die Frage und ihre Antworten ziehen immer noch Besucher an und helfen den Menschen beim Lernen. SO ist so eine Ikone. Das ist auch der Grund für meine Abstimmung: positive Stimmen für Antworten, die einen Mehrwert für die spezifische Frage darstellen, und negative Stimmen für diejenigen, die dies nicht tun. Das sichert die Qualität von SO: Nur der Autor kann löschen (einige Ausnahmen), aber die Community entscheidet. Ich finde es wirklich sehr edel. Lassen Sie mich betonen, dass dies nichts Persönliches ist: Ich habe gesehen, wie Sie viele qualitativ hochwertige Antworten gepostet haben. Ich glaube nur, das gehört nicht dazu 🙂

    – Paul van Leeuwen

    26. Januar 2017 um 19:14 Uhr

1226600cookie-checkGibt es eine etablierte Namenskonvention für PHP-Namespaces?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy