Deklarowanie i używanie przestrzeni nazw
Umieszczaj klasy w przestrzeniach nazw i importuj je za pomocą instrukcji use
Deklarowanie i używanie przestrzeni nazw to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Czym jest przestrzeń nazw?
Przestrzeń nazw grupuje powiązane klasy, funkcje i stałe, aby zapobiegać konfliktom nazw między bibliotekami.
Deklarowanie przestrzeni nazw
Należy użyć słowa kluczowego namespace jako pierwszej instrukcji w pliku PHP (po <?php).
<?php
namespace App\Services;
class Logger {
public function log(string $msg): void {
echo $msg;
}
}Segmenty przestrzeni nazw
Segmenty są oddzielone backslashami (\). Każdy segment zazwyczaj odpowiada katalogowi w mechanizmie autoloadingu PSR-4.
Importowanie za pomocą use
Słowo kluczowe use importuje w pełni kwalifikowaną nazwę klasy, dzięki czemu można odwoływać się do niej za pomocą krótkiej nazwy.
<?php
namespace App\Controllers;
use App\Services\Logger;
class HomeController {
public function index(): void {
$logger = new Logger();
$logger->log("visited");
}
}W pełni kwalifikowane nazwy
Do klasy można odwołać się bez use, poprzedzając jej nazwę początkowym backslashem.
<?php
$logger = new \App\Services\Logger();
$logger->log("Hello");Globalna przestrzeń nazw
Kod bez przestrzeni nazw znajduje się w globalnej przestrzeni nazw. Wbudowane klasy, takie jak \DateTime, również się w niej znajdują. Wewnątrz przestrzeni nazw należy poprzedzić ich nazwę znakiem \.
Importowanie funkcji i stałych
Za pomocą use function i use const można importować symbole niebędące klasami.
<?php
namespace App;
use function App\Utils\formatDate;
use const App\Utils\DATE_FORMAT;
echo formatDate(time(), DATE_FORMAT);Grupowane instrukcje use
W jednym grupowanym bloku use można importować wiele symboli (PHP 7+).
<?php
use App\Models\{User, Post, Comment};Jedna przestrzeń nazw na plik
W jednym pliku można zadeklarować wiele przestrzeni nazw, ale nie jest to zalecane. Dla większej przejrzystości i zgodności z autoloaderem należy używać jednej przestrzeni nazw na plik.
Typowe konwencje
Laravel i Symfony używają App\ jako głównej przestrzeni nazw mapowanej na src/ lub app/ w pliku composer.json.
Organizacja podprzestrzeni nazw
Należy grupować elementy według funkcji lub warstwy: App\Http\Controllers, App\Domain\Orders, App\Infrastructure\Database.
Podsumowanie przestrzeni nazw
Najważniejsze informacje: namespace musi być pierwszą instrukcją; use importuje symbole; backslash oddziela segmenty; aby odwołać się do klas globalnych wewnątrz przestrzeni nazw, należy użyć prefiksu \.
Szybkie sprawdzenie
Jakie słowo kluczowe importuje klasę z innej przestrzeni nazw?
Często zadawane pytania
Czy lekcja „Deklarowanie i używanie przestrzeni nazw” jest bezpłatna?
Tak — pełny tekst „Deklarowanie i używanie przestrzeni nazw” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Deklarowanie i używanie przestrzeni nazw”?
Umieszczaj klasy w przestrzeniach nazw i importuj je za pomocą instrukcji use Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Deklarowanie i używanie przestrzeni nazw”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Deklarowanie i używanie przestrzeni nazw
- Zagnieżdżone przestrzenie nazw i aliasy
- Standard automatycznego ładowania PSR-4
- Rejestrowanie mechanizmów autoloadingu