Deklarera och använda namnrymder
Omslut klasser i namnrymder och importera dem med use-satser.
Deklarera och använda namnrymder är en gratis lektion i PHP Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för PHP Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i PHP Academy innehåller totalt 4 lektioner.
Vad är en namnrymd?
En namnrymd grupperar relaterade klasser, funktioner och konstanter för att undvika namnkonflikter mellan bibliotek.
Deklarera en namnrymd
Använd nyckelordet namespace som den första satsen i en PHP-fil (efter <?php).
<?php
namespace App\Services;
class Logger {
public function log(string $msg): void {
echo $msg;
}
}Namnrymdssegment
Segment separeras med omvända snedstreck (\). Varje segment motsvarar vanligtvis en katalog vid PSR-4-autoloading.
Importera med use
Nyckelordet use importerar ett fullständigt kvalificerat klassnamn så att Ni kan referera till det med dess kortnamn.
<?php
namespace App\Controllers;
use App\Services\Logger;
class HomeController {
public function index(): void {
$logger = new Logger();
$logger->log("visited");
}
}Fullständigt kvalificerade namn
Referera till en klass utan use genom att lägga till ett inledande omvänt snedstreck.
<?php
$logger = new \App\Services\Logger();
$logger->log("Hello");Den globala namnrymden
Kod utan namnrymd ligger i den globala namnrymden. Inbyggda klasser som \DateTime finns också där. Lägg till prefixet \ inuti en namnrymd.
Importera funktioner och konstanter
Använd use function och use const för att importera symboler som inte är klasser.
<?php
namespace App;
use function App\Utils\formatDate;
use const App\Utils\DATE_FORMAT;
echo formatDate(time(), DATE_FORMAT);Grupperade use-satser
Importera flera symboler i ett enda grupperat use-block (PHP 7+).
<?php
use App\Models\{User, Post, Comment};En namnrymd per fil
Flera namnrymdsdeklarationer i samma fil är tillåtna men avråds från. Föredra en namnrymd per fil för tydlighet och kompatibilitet med autoloaders.
Vanliga konventioner
Laravel och Symfony använder App\ som rotnamnrymd, mappad till src/ eller app/ i composer.json.
Organisering av undernamnrymder
Gruppera efter funktion eller lager: App\Http\Controllers, App\Domain\Orders, App\Infrastructure\Database.
Sammanfattning av namnrymder
Viktiga punkter: namespace måste vara den första satsen; use importerar symboler; omvänt snedstreck separerar segment; prefixa med \ för globala klasser inuti en namnrymd.
Snabbtest
Vilket nyckelord importerar en klass från en annan namnrymd?
Lär dig PHP med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 49
- Lektioner
- 195
Vanliga frågor
Är lektionen ”Deklarera och använda namnrymder” gratis?
Ja – hela texten till ”Deklarera och använda namnrymder” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i PHP Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i PHP Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Deklarera och använda namnrymder”?
Omslut klasser i namnrymder och importera dem med use-satser. Ni övar på PHP Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig PHP Academy?
Du behöver inga förkunskaper. Utbildningen i PHP Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Deklarera och använda namnrymder”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här PHP Academy-lektionen?
Ja. Varje PHP Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Deklarera och använda namnrymder
- Kapslade namnrymder och alias
- Standarden för automatisk inläsning enligt PSR-4
- Registrera autoloaders