TypePHP 编译器
https://swoole.com/aot/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
500 B
33 lines
500 B
--TEST--
|
|
ZE2 factory objects
|
|
--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();
|
|
}
|
|
}
|
|
function main() {
|
|
ShapeFactoryMethod("Circle")->draw();
|
|
ShapeFactoryMethod("Square")->draw();
|
|
}
|
|
?>
|
|
--EXPECT--
|
|
Circle
|
|
Square
|
|
|