Je dois réaliser une application PHP ou je dois pouvoir créer des pays.
J'ai lu aujourd'hui la possibilité de faire des __get et __set, ça m'a l'air vraiment bien (plus propre que faire un get/set pour chaque paramètre, à mon avis) mais il y a un problème qui a sûrement dû être résolu et que je n'arrive pas à résoudre.
Voici mon code (la question suivra):
class Pays {
private $parametres = array();
public function __construct($nomRecu) {
$this->parametres[nom] = $nomRecu;
}
public function __set($parametreRecu, $valeurRecue) {
$this->parametres[$parametreRecu] = $valeurRecue;
}
public function __get($parametreRecu) {
return $this->parametres[$parametreRecu];
}
public function __toString() {
$retour = 'Nom du pays: '.$this->parametres[nom];
return $retour;
}
}
Voilà, donc tout ça c'est bien joli.. Mais moi je souhaite avoir uniquement le paramètre "nom" dans ma classe pays.. Et là il y a un problème je crois: si un gogol me fait: le code suivant...$lePays = new Pays(Suisse);
$lePays->population = 7000000;
... et bien il m'aura créé un nouveau paramètre "population".. Ou je me trompe? Bref, comment limiter les paramètres uniquement à "nom", tout en gardant ma structure de code? Ou comment faire un code plus propre?Merci d'avance