1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
class voiture {
public static $monXml;
public $constructeur;
public static function Xml2Dom(){
self::$monXml = array('renault' => 'r', 'nissan' => 'n');
}
public static function factory($nomFille) {
//traitement pour savoir quel objet retourner
return new $nomFille; // par exemple
}
public final function getMyXml()
{
return self::$monXml[$this->constructeur];
}
}
class renault extends voiture {
public function __construct(){
$this->constructeur = "renault";
}
}
class nissan extends voiture {
public function __construct(){
$this->constructeur = "nissan";
}
}
voiture::Xml2Dom();
$mon_objet_ici_renault = voiture::factory('renault');
var_dump($mon_objet_ici_renault->getMyXml());
$mon_objet_ici_nissan = voiture::factory('nissan');
var_dump($mon_objet_ici_nissan->getMyXml()); |
Partager