Factory mode
<?php
/**
* @author :Eggshell Website:www.kangyunchuan.cn QQ:334192009 E-mail:zonko@163.com
* @name :Abstract factory
* @copyright :Have no ...
* Date:Sun May 24 22:11:03 CST 2009
*/
interface Pcreator{
public function createP($Pname);
}
class MeEat{
public $name = "egg";
}
class YouEat{
public $name = "bread";
}
class MeInstance{
public $spare = "one";
}
class YouInatance{
public $spare = "zero";
}
class abstractCreator{
public function getCreate($who){
$creatorClassName = $who."Creator";
return new $creatorClassName();
}
}
class MeCreator implements Pcreator {
public function createP($Pname){
$pClassName = "Me".$Pname;
return new $pClassName();
}
}
class YouCreator implements Pcreator {
public function createP($Pname){
$pClassName = "You".$Pname;
return new $pClassName();
}
}
$abstractCreator = new abstractCreator();
echo $abstractCreator->getCreate("Me")->createP("Instance")->spare;
?>