PHP Academy · Lektion

Deklarera och använda namnrymder

Omslut klasser i namnrymder och importera dem med use-satser.

Lektion 1 av 413 steg

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?

Gratis att börja

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

  1. Deklarera och använda namnrymder
  2. Kapslade namnrymder och alias
  3. Standarden för automatisk inläsning enligt PSR-4
  4. Registrera autoloaders
← Tillbaka till PHP Academy