Dalej•LEKCJA 23 / 26

Przestrzenie nazw i autoloading

Kurs PHP · Wyjaśnienie, przykłady, oczekiwany wynik i ćwiczenie.

Namespace pomaga uporządkować klasy w większych projektach.

Jak to działa?

Przestrzenie nazw zapobiegają konfliktom nazw. use pozwala korzystać z krótszej nazwy klasy. W praktycznych aplikacjach automatyczne ładowanie klas najczęściej konfiguruje się przez Composer (PSR-4).

Przykład 1 — poznaj zapis

<?php
namespace App\Domain;

class Player {}

// W innym pliku: use App\Domain\Player;
// $player = new Player();

Przestrzeń nazw to element nazwy klasy, a nie automatyczne dołączenie pliku.

Przeczytaj kod linijka po linijce

  1. class Player {}Definiujemy nowy typ obiektu lub umowę dotyczącą jego zachowania.
Oczekiwany wynik / efektpo uruchomieniu przykładu
Brak wypisanego tekstu; kod deklaruje klasę we wskazanej przestrzeni nazw.

Przykład 2 — podobny problem, inne dane

Teraz przyjrzyj się drugiemu przykładowi. Zwróć uwagę na to, co zmieniło się w kodzie, a co w wyniku. Spróbuj przewidzieć rezultat przed przeczytaniem odpowiedzi.

<?php
namespace App;
class User {}
echo User::class;
Wynik drugiego przykładupo uruchomieniu przykładu
App\User
Sprawdź, czy rozumiesz

Wróć do pierwszego przykładu, zmień jedną wartość i spróbuj samodzielnie przewidzieć wynik. Następnie uruchom kod i porównaj rezultat. W ten sposób nauczysz się nie tylko przepisywać instrukcje, ale rozumieć ich działanie.

Spróbuj samodzielnie

Utwórz klasę w namespace App\Services.

To już koniec tej lekcji.

Jeśli rozumiesz przykład, oznacz lekcję jako ukończoną i przejdź dalej.