Example #1
0
 public static function main()
 {
     $flyweightFactory = new FlyweightFactory();
     $flyweight = $flyweightFactory->getFlyweight("state A");
     $flyweight->operation("state X");
     $flyweight = $flyweightFactory->getFlyweight("state B");
     $flyweight->operation("state B");
     $flyweight1 = $flyweightFactory->getFlyweight("state B");
     var_dump($flyweight == $flyweight1);
     /**
      * unshared objs
      */
     $uflyweight = new UnsharedConcreteFlyweight('state A');
     $uflyweight->operation('state Y');
 }