//~ ); //~ } //~ } //~ $pizzaSalami = new PizzaSalami (); //~ var_dump ( $pizzaSalami ); interface CrustInterface { } interface ToppingInterface { } class CrustWheatFlour implements CrustInterface { } class ToppingSalami implements ToppingInterface { } class Pizza { public function __construct(CrustInterface $crust) { $this->crust = $crust; } public function addTopping(ToppingInterface $topping) { $this->toppings[] = $topping; } } $pizzaSalami = new Pizza(new CrustWheatFlour()); $pizzaSalami->addTopping(new ToppingSalami()); echo 0;