Heim > Backend-Entwicklung > PHP-Tutorial > Einfaches PHP-Factory-Muster

Einfaches PHP-Factory-Muster

WBOY
Freigeben: 2016-08-08 09:25:18
Original
1005 Leute haben es durchsucht

Einfaches Factory-Modus-Beispiel – Einfache TV-Fabrik

//抽象产品类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;
		}
	}
}
Nach dem Login kopieren
$factory = new TVFactory();
$tvstring = simplexml_load_file('configTV.xml'); 


foreach ($tvstring as $tv ) {
$tmp = $factory->produceTV($tv->name);
if ($tmp != NULL) {
$tmp->play();
}
}
Nach dem Login kopieren

Konfigurationsdatei configTV.xml
<?xml version="1.0" encoding="UTF-8"?>  
  <TV>  
	  <HaierTV>  
		  <name>Haier</name>   
	  </HaierTV>  
	  <HisenseTV>  
		  <name>Hisense</name>  
	  </HisenseTV> 	  
  </TV>  
Nach dem Login kopieren
Laufergebnisse

Die TV-Fabrik produziert Haier-Fernseher
Haier TV spielt...
Die TV-Fabrik produziert Hisense-Fernseher
Hisense TV läuft...

Das Obige stellt den einfachen PHP-Factory-Modus vor, einschließlich einiger Aspekte des Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
gt lt
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage