Zum Inhalt springen

Namespace

oder auch Namensraum

Männliche Person, frontal, schaut in die Kamera; trägt kariertes Hemd über dunkelfarbigem T‑Shirt; heller Innenraum mit unscharfem Monitor oder Poster links und Fenster rechts.

von Richard Albrecht am 19.10.2026

Ein Namespace ist ein Bereich, in dem Namen für sich gelten. Er verhindert, dass zwei gleichnamige Klassen aus verschiedenen Quellen kollidieren.

Namespace

Ein benannter Bereich, in dem Bezeichner für sich gelten, sodass derselbe Name in einem anderen Bereich etwas anderes meinen darf.
Beispiel: „Der Namespace trennt die eigene Klasse Logger von der gleichnamigen aus der eingebundenen Bibliothek.“

Auch: Namensraum.

Abgrenzung zum Gültigkeitsbereich: Der Gültigkeitsbereich entsteht beim Ausführen und ist zeitlich begrenzt. Der Namespace ist eine Ordnung im Quelltext und gilt unabhängig davon, was gerade läuft.

Wozu er gebraucht wird

Sobald fremder Code dazukommt, treffen Namen aufeinander. Jede zweite Bibliothek bringt eine Klasse namens Logger, Client oder Response mit. Ohne Trennung müsste eine davon umbenannt werden.

Der Namespace stellt den Namen in einen Zusammenhang. Aus Logger wird Hersteller\Paket\Logger, und damit ist eindeutig, welcher gemeint ist. Im Code wird dann meist einer davon als Kurzform eingeführt.

<!-- PHP: Namespace und Einbindung -->
namespace App\Support\Forms;

use Statamic\Facades\Entry;
use App\Airtable\Client as AirtableClient;

Wie es in anderen Sprachen gelöst ist

PHP und C# haben Namespaces als eigenes Sprachmittel. JavaScript löst dasselbe über Module: Was eine Datei nicht ausdrücklich herausreicht, bleibt drinnen, und beim Einbinden darf ein anderer Name vergeben werden.

Der Ordner, in dem eine Datei liegt, entspricht dabei meist dem Namespace. In diesem Projekt heißt der Namespace einer Klasse unter app/Support/Forms folgerichtig App\Support\Forms.

Die Kurzform im Code

Vollständige Namen sind lang, deshalb wird am Kopf einer Datei festgelegt, welche Klasse unter welchem Kurznamen gemeint ist. Danach steht im Code nur noch der kurze Name.

Treffen zwei gleichnamige Klassen in derselben Datei zusammen, bekommt eine davon dabei einen abweichenden Kurznamen. Das ist der übliche Weg, und er erklärt die Zeilen am Dateianfang, die auf den ersten Blick überflüssig wirken.

Siehe auch:

Klassen (Objektorientierung)

Die Vorlage, nach der gleichartige Objekte gebaut werden.

#Programmiersprachen

Gültigkeitsbereich (Scope)

Sagt, an welchen Stellen im Code ein Name bekannt ist.

#Programmiersprachen

Bibliothek (Library)

Fertiger Code von anderen, den du in dein Projekt holst, statt die Sache selbst zu schreiben.

#Programmiersprachen

Quelltext

Der HTML-Code einer Seite, den der Browser empfängt und zur Darstellung verarbeitet.

#Website-Struktur #Frontend-Entwicklung (HTML, CSS, JavaScript) #Programmiersprachen