Interfejsy a typy anonimowe

Założenie: Pokażemy, jak wykorzystać typy anonimowe w definicjach interfejsów w PHP, aby stworzyć bardziej elastyczne i specyficzne dla danych interfejsy.

Krok po kroku:

  1. Definicja interfejsu z typem anonimowym: Stworzymy interfejs reprezentujący prostokąt, gdzie wymiary są określone za pomocą typu anonimowego.
  2. 
    interface Rectangle {
      public function getArea(): float;
    }
    
    $rectangle = new class implements Rectangle {
        public float $width;
        public float $height;
    
        public function __construct(float $width, float $height) {
            $this->width = $width;
            $this->height = $height;
        }
    
        public function getArea(): float {
            return $this->width * $this->height;
        }
    };
    
    $myRectangle = new $rectangle(5, 10);
    echo $myRectangle->getArea(); // Wyświetli 50
    				

    Tutaj definiujemy interfejs `Rectangle` z metodą `getArea()`. Następnie, używając wyrażenia `new class`, tworzymy klasę anonimową implementującą ten interfejs. Klasa ta ma atrybuty `width` i `height` oraz metodę `getArea()` obliczającą pole prostokąta.

  3. Użycie interfejsu: Możemy teraz używać obiektu `$myRectangle` wszędzie tam, gdzie wymagany jest interfejs `Rectangle`.
  4. 
    function calculateArea(Rectangle $rect): float {
        return $rect->getArea();
    }
    
    echo calculateArea($myRectangle); // Wyświetli 50
    				

    Funkcja `calculateArea()` przyjmuje obiekt implementujący interfejs `Rectangle` i zwraca jego pole. To pokazuje elastyczność użycia typów anonimowych w interfejsach.

Ten przykład pokazuje podstawowe zastosowanie typów anonimowych w definicjach interfejsów w PHP. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi zastosowaniami!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *