Namespaces deklarieren und verwenden
Kapseln Sie Klassen in Namespaces und importieren Sie sie mit use-Anweisungen.
Namespaces deklarieren und verwenden ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist ein Namespace?
Ein Namespace fasst zusammengehörige Klassen, Funktionen und Konstanten zusammen, um Namenskonflikte zwischen Bibliotheken zu vermeiden.
Einen Namespace deklarieren
Verwenden Sie das Schlüsselwort namespace als erste Anweisung in einer PHP-Datei (nach <?php).
<?php
namespace App\Services;
class Logger {
public function log(string $msg): void {
echo $msg;
}
}Namespace-Segmente
Segmente werden durch Backslashes (\) getrennt. Beim PSR-4-Autoloading entspricht jedes Segment typischerweise einem Verzeichnis.
Importieren mit use
Das Schlüsselwort use importiert einen vollqualifizierten Klassennamen, sodass Sie ihn über seinen kurzen Namen referenzieren können.
<?php
namespace App\Controllers;
use App\Services\Logger;
class HomeController {
public function index(): void {
$logger = new Logger();
$logger->log("visited");
}
}Vollqualifizierte Namen
Referenzieren Sie eine Klasse ohne use, indem Sie ihr einen führenden Backslash voranstellen.
<?php
$logger = new \App\Services\Logger();
$logger->log("Hello");Der globale Namespace
Code ohne Namespace befindet sich im globalen Namespace. Auch integrierte Klassen wie \DateTime befinden sich dort. Setzen Sie innerhalb eines Namespace ein \ voran.
Funktionen und Konstanten importieren
Verwenden Sie use function und use const, um Symbole zu importieren, die keine Klassen sind.
<?php
namespace App;
use function App\Utils\formatDate;
use const App\Utils\DATE_FORMAT;
echo formatDate(time(), DATE_FORMAT);Gruppierte use-Anweisungen
Importieren Sie mehrere Symbole in einem einzigen gruppierten use-Block (PHP 7+).
<?php
use App\Models\{User, Post, Comment};Ein Namespace pro Datei
Mehrere Namespace-Deklarationen in einer Datei sind zulässig, werden aber nicht empfohlen. Bevorzugen Sie aus Gründen der Übersichtlichkeit und der Kompatibilität mit Autoloadern einen Namespace pro Datei.
Übliche Konventionen
Laravel und Symfony verwenden App\ als Root-Namespace, der in composer.json src/ oder app/ zugeordnet wird.
Organisation von Sub-Namespaces
Gruppieren Sie nach Feature oder Schicht: App\Http\Controllers, App\Domain\Orders, App\Infrastructure\Database.
Rückblick: Namespaces
Wichtige Punkte: namespace muss die erste Anweisung sein; use importiert Symbole; Backslashes trennen Segmente; setzen Sie innerhalb eines Namespace \ vor globale Klassen.
Kurztest
Welches Schlüsselwort importiert eine Klasse aus einem anderen Namespace?
Häufig gestellte Fragen
Ist die Lektion „Namespaces deklarieren und verwenden“ kostenlos?
Ja — der vollständige Text von „Namespaces deklarieren und verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Namespaces deklarieren und verwenden“?
Kapseln Sie Klassen in Namespaces und importieren Sie sie mit use-Anweisungen. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „Namespaces deklarieren und verwenden“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Namespaces deklarieren und verwenden
- Verschachtelte Namespaces und Aliase
- PSR-4-Standard für Autoloading
- Autoloader registrieren