Maison  >  Article  >  développement back-end  >  php 简单工厂模式

php 简单工厂模式

WBOY
WBOYoriginal
2016-08-08 09:25:18976parcourir

简单工厂模式实例-简单电视机工厂

//抽象产品类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();
}
}

配置文件configTV.xml
<?xml version="1.0" encoding="UTF-8"?>  
  <tv>  
	  <haiertv>  
		  <name>Haier</name>   
	  </haiertv>  
	  <hisensetv>  
		  <name>Hisense</name>  
	  </hisensetv> 	  
  </tv>  
运行结果

电视机工厂生产海尔电视机
海尔电视机播放中...
电视机工厂生产海信电视机
海信电视播放中...

以上就介绍了php 简单工厂模式,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:php关于定义方法的一种思路Article suivant:哎嗨哟网站开发