public function quack()
 {
     Utils::println("Quack!");
 }
 public function fly()
 {
     Utils::println("I'm flying");
 }
 public function quack()
 {
     Utils::println("<< Silence >>");
 }
 public function fly()
 {
     Utils::println("I'm flying with a rocket");
 }
 public function quack()
 {
     Utils::println("Squeak");
 }
 public function display()
 {
     Utils::println("I'm a real Mallard duck");
 }
<?php

require __DIR__ . '/../../vendor/autoload.php';
use Common\Utils;
use Strategy\Duck;
Utils::println("::Making specific duck");
$mallard = new Duck\MallardDuck();
$mallard->performQuack();
$mallard->performFly();
Utils::println("::Making model duck and changing its flying behavior");
$modelDuck = new Duck\ModelDuck();
$modelDuck->performFly();
$modelDuck->setFlyBehavior(new Duck\Behavior\FlyRocketPoweredBehavior());
$modelDuck->performFly();
 public function fly()
 {
     Utils::println("I can't fly");
 }