Welchen Regeln müssen meine Namespace-Namen folgen?Was sind die gültigen Zeichen in PHP-Namensraumnamen?
Antwort
Variablennamen folgen den gleichen Regeln wie andere Etiketten in PHP. Ein gültiger Variablenname beginnt mit einem Buchstaben oder Unterstrich, gefolgt von einer beliebigen Anzahl von Buchstaben, Zahlen oder Unterstrichen.
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
„Andere Labels“ hier nicht zu Namensräumen unter anderem wie Klassen- und Funktionsnamen verweisen: Als regulären Ausdruck, würde es so ausdrücken.
Beachten Sie, dass PHP kein eigenes Verständnis von Codierungen besitzt und solche Beschriftungen als bloße Byte-Arrays behandelt; die meisten Unicode-Strings (sprich: UTF-8) werden die oben naive regex erfüllen:
// yup, works
namespace 漢字;
class 文字 {}
Noob Frage: Ich habe nie Namespace verwendet, aber ich erinnere dich daran, etwas wie 'namespace one \ two' zu sehen. Würde das zu dieser Regel passen? – sidyll
@sidyll Der Backslash ist ein Trennzeichen in hierarchischen Namespaces. – Barmar
@sidyll Das \ ist das Namensraumtrennzeichen, meine Frage war über die durch das Trennzeichen getrennten Komponenten. Vielleicht sollte ich das in der Frage klarstellen? – AndreKR
- 1. Was sind die gültigen ersten Zeichen in einem XML-Dokument?
- 2. Was sind die gültigen Zeichen für Registrierungsschlüssel und Wertnamen?
- 3. Was sind die gültigen Symbole für einen React 'Schlüssel'?
- 4. Was sind die gültigen HTML-Tags in RSS-Feeds?
- 5. Was sind die gültigen Farben für die Farberweiterung von Mercurial?
- 6. Was sind die gültigen Favicon-Typen für IE10 +?
- 7. Was sind die verschiedenen gültigen Prototypen der Hauptfunktion?
- 8. Was sind die gültigen Bedingungen für zcml: Bedingung?
- 9. Was sind die erlaubten Zeichen in Snapchat Benutzername
- 10. Liste der gültigen Zeichen für die Fragmentkennung in einer URL?
- 11. Was sind die Zeichen für die Initialisierung der Kreuze?
- 12. Was sind einige großartige 2D-Zeichen Tutorials?
- 13. Was sind breakable non-whitespace Zeichen
- 14. Was sind die ungültigen Zeichen im XFS-Dateisystem?
- 15. Was sind die Teilzeichen in Silverlight's TextWrapping?
- 16. Was sind die japanischen Leerzeichen?
- 17. sind die Zeichen # oder & in xml erlaubt?
- 18. Objektdestrukturierung mit Eigenschaftsnamen, die keine gültigen Variablennamen sind
- 19. Welche gültigen Zeichen können in einem URL-Host angezeigt werden?
- 20. Was sind die Konsolenfarbwerte
- 21. Was sind die Werte?
- 22. Was sind gültige Zeichen in einem Windows-Dienst (Schlüssel) Name?
- 23. Was sind die Eingabedaten für FP-Growth?
- 24. Was sind die Stufen in der .explain() Ausgabe
- 25. Zeichen, die beim Drucken nicht sichtbar sind
- 26. Brechen Strings in Zeichen, die in Großbuchstaben sind
- 27. Was sind die möglichen Werte für Dateideskriptoren?
- 28. Drei aufeinanderfolgende Zeichen, die auch alphabetisch sind
- 29. Zeichen zu identifizieren, die entkommen sind
- 30. Was sind die empfohlenen Datenbankspalten für Namen?
Eng verwandt → http://stackoverflow.com/q/17973357/476 – deceze