간단한 팩토리 모드 예시-간단한 TV 팩토리
//抽象产品类TV interface TV { public function play(); } //具体产品类HaierTv class HaierTV implements TV { public function play() { echo '海尔电视机播放中...<br>'; } } //具体产品类HisenseTV class HisenseTV implements TV { public function play() { echo '海信电视播放中...<br>'; } } class TVFactory { public static function produceTV($name) { switch ($name) { case 'Haier': echo '电视机工厂生产海尔电视机<br>';return new HaierTV(); case 'Hisense': echo '电视机工厂生产海信电视机<br>';return new HisenseTV(); default: echo '不能生产该电视机<br>';break; } } }
$factory = new TVFactory(); $tvstring = simplexml_load_file('configTV.xml'); foreach ($tvstring as $tv ) { $tmp = $factory->produceTV($tv->name); if ($tmp != NULL) { $tmp->play(); } }
<?xml version="1.0" encoding="UTF-8"?> <TV> <HaierTV> <name>Haier</name> </HaierTV> <HisenseTV> <name>Hisense</name> </HisenseTV> </TV>실행 결과
하이얼 TV를 생산하는 TV 공장
하이얼 TV가 재생되고 있습니다...
하이얼 TV 공장에서 Hisense TV를 생산합니다
Hisense TV 재생 중...
위 내용은 내용의 측면을 포함하여 PHP 단순 팩토리 모드를 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.