Interfejsy a typy literałów
Założenie: Pokażemy, jak wykorzystać typy literałów w definicjach interfejsów w PHP, aby zapewnić, że stała interfejsu może mieć tylko jedną konkretną wartość.
Krok po kroku:
- Definicja interfejsu z typem literału: Zdefiniujmy interfejs z jedną stałą, której typem będzie string “wartość”.
- Implementacja interfejsu: Teraz zaimplementujmy ten interfejs w klasie.
- Próba zmiany wartości stałej (błąd): Spróbujmy zmienić wartość stałej w klasie implementującej interfejs.
interface MojaStała {
public const WARTOŚĆ = 'wartość';
}
Ten kod definiuje interfejs MojaStała
z jedną stałą WARTOŚĆ
, której wartość jest zdefiniowana jako string “wartość”.
class MojaKlasa implements MojaStała {
// Nie musimy nic dodawać, bo interfejs nie definiuje żadnych metod.
}
Klasa MojaKlasa
implementuje interfejs MojaStała
. Próba zmiany wartości stałej WARTOŚĆ
w klasie MojaKlasa
spowoduje błąd.
class MojaKlasa implements MojaStała {
public const WARTOŚĆ = 'inna wartość'; // To spowoduje błąd!
}
Ten kod spowoduje błąd kompilacji, ponieważ próbujemy zmienić wartość stałej zdefiniowanej w interfejsie. Typ literału gwarantuje, że wartość stałej pozostanie niezmienna.
Ten przykład pokazuje podstawowe zastosowanie typów literałów w interfejsach w PHP. Pozwala to na lepsze kontrolowanie wartości stałych i zwiększa czytelność kodu. Zachęcamy do dalszego zgłębiania tematu interfejsów i abstrakcji w PHP!