xref: /PHP-7.1/tests/classes/factory_001.phpt (revision 243dd060)
1--TEST--
2ZE2 factory objects
3--SKIPIF--
4<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
5--FILE--
6<?php
7
8class Circle {
9	function draw() {
10		echo "Circle\n";
11	}
12}
13
14class Square {
15	function draw() {
16		print "Square\n";
17	}
18}
19
20function ShapeFactoryMethod($shape) {
21	switch ($shape) {
22		case "Circle":
23			return new Circle();
24		case "Square":
25			return new Square();
26	}
27}
28
29ShapeFactoryMethod("Circle")->draw();
30ShapeFactoryMethod("Square")->draw();
31
32?>
33--EXPECT--
34Circle
35Square
36