diff options
Diffstat (limited to 'tests/classes/factory_001.phpt')
-rw-r--r-- | tests/classes/factory_001.phpt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/classes/factory_001.phpt b/tests/classes/factory_001.phpt new file mode 100644 index 0000000..97b69c1 --- /dev/null +++ b/tests/classes/factory_001.phpt @@ -0,0 +1,35 @@ +--TEST-- +ZE2 factory objects +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> +--FILE-- +<?php + +class Circle { + function draw() { + echo "Circle\n"; + } +} + +class Square { + function draw() { + print "Square\n"; + } +} + +function ShapeFactoryMethod($shape) { + switch ($shape) { + case "Circle": + return new Circle(); + case "Square": + return new Square(); + } +} + +ShapeFactoryMethod("Circle")->draw(); +ShapeFactoryMethod("Square")->draw(); + +?> +--EXPECT-- +Circle +Square |