## Regeln

Die folgende Liste gibt einen Überblick über die Rechte, die das PHP Projekt bei der Auswahl von Namen für neue interne Bezeichner für sich selbst in Anspruch nimmt. Die definitiven Vorgaben finden sich in den offiziellen » CODING STANDARDS:

- PHP ist Eigentümer des globalen Namensraumes, versucht aber vernünftige sprechende Namen zu finden, und offensichtliche Konflikte zu vermeiden.

- Funktionsnamen benutzten Unterstriche als Trennzeichen zwischen Wörtern, während Klassennamen den `camelCase` und `PascalCase` Regeln folgen.

- PHP wird jedem globalen Symbol einer Erweiterung den Namen der Erweiterung voranstellen (in der Vergangenheit gab es allerdings zahlreiche Abweichungen von dieser Regel), z.B.:

  - curl_close()

  - mysql_query()

  - PREG_SPLIT_DELIM_CAPTURE

  - new DOMDocument()

  - strpos() (Beispiel einer früheren Abweichung)

  - new SplFileObject()

- Bei Iteratoren und Ausnahmen wird dagegen einfach ein "`Iterator`" oder "`Exception`" an den Namen angehängt, z.B.:

  - ArrayIterator

  - LogicException

- PHP reserviert alle Symbole, die mit zwei Unterstrichen `__` beginnen, für interne Zwecke. Sie sollten nur dann Namen mit `__` beginnen lassen, wenn Sie eine der dokumentierten "magischen" Funktionalitäten in PHP nutzen wollen, z.B:

  - __get()

  - __autoload()

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open