public function draw() { echo 'demo factory'; } } class Monkey { public function monney() { echo 'demo'; } } class ShapeFactory { public function create($type) { if ($type == 'Rectangle') { return new Rectangle(new Position()); } elseif ($type == 'Monkey') { return new Monkey(); } } } $factory = new ShapeFactory(); //$rect =$factory->create('Rectangle'); $rect = $factory->create('Monkey'); //$rect->draw(); $rect->monney(); echo "<pre>"; var_dump($rect); //$rect->draw();
<?php function __autoload($class) { include $class . '.php'; } $factory = new ShapeFactory(); $circle = $factory->create("circle", 4); var_dump($circle);