简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。
简单工厂模式是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例。
<?php
/*
* 子类
*/
class Dog {
public function __construct() {
echo 'dog';
}
}
class Cat {
public function __construct() {
echo 'cat';
}
}
class Duck {
public function __construct() {
echo 'duck';
}
}
/*
* 工厂类
*/
class SimpleFactory {
public static function createAnimal($animalName) {
if (!class_exists($animalName)) {
die("class {$animalName} does not exist!");
}
return new $animalName();
}
}
$dog = SimpleFactory::createAnimal('Dog');
$cat = SimpleFactory::createAnimal('Cat');
$duck = SimpleFactory::createAnimal('Duck');