factory_001.phpt 474 B

123456789101112131415161718192021222324252627282930313233
  1. --TEST--
  2. ZE2 factory objects
  3. --FILE--
  4. <?php
  5. class Circle {
  6. function draw() {
  7. echo "Circle\n";
  8. }
  9. }
  10. class Square {
  11. function draw() {
  12. print "Square\n";
  13. }
  14. }
  15. function ShapeFactoryMethod($shape) {
  16. switch ($shape) {
  17. case "Circle":
  18. return new Circle();
  19. case "Square":
  20. return new Square();
  21. }
  22. }
  23. ShapeFactoryMethod("Circle")->draw();
  24. ShapeFactoryMethod("Square")->draw();
  25. ?>
  26. --EXPECT--
  27. Circle
  28. Square