Trait a wzorce projektowe

Założenie: Pokażemy, jak użyć Traitów do implementacji prostego wzorca Strategy w PHP.

Krok po kroku:

  1. Definicja interfejsu strategii: Zdefiniujemy interfejs, który będą implementowały nasze strategie.
  2. 
    
    				
  3. Implementacja strategii: Stworzymy dwie klasy implementujące interfejs PaymentStrategy: jedną dla płatności kartą, drugą dla płatności przelewem.
  4. 
    
    				
  5. Użycie Traita do wstrzykiwania strategii: Stworzymy Trait, który będzie przechowywał i używał wybranej strategii płatności.
  6. 
    paymentStrategy = $strategy;
      }
    
      public function processPayment(float $amount): string {
        return $this->paymentStrategy->pay($amount);
      }
    }
    ?>
    				
  7. Klasa wykorzystująca Trait: Stworzymy klasę Order, która będzie korzystać z naszego Traita.
  8. 
    setPaymentStrategy($strategy);
      }
    
      public function placeOrder(float $amount): string {
        return "Zamówienie złożone. " . $this->processPayment($amount);
      }
    }
    ?>
    				
  9. Wykorzystanie: Uruchomimy przykładowy kod.
  10. 
    placeOrder(100.00) . "
    "; $orderTransfer = new Order(new TransferPayment()); echo $orderTransfer->placeOrder(100.00); ?>

Ten przykład pokazuje, jak użyć Traitów do implementacji wzorca Strategy, co pozwala na elastyczne dodawanie nowych strategii bez modyfikacji głównej klasy.

Zachęcamy do dalszego zgłębiania tematu Traitów i wzorców projektowych w PHP!

Dodaj komentarz 0

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