Création d'un attribut non défini d'un objet ?! L'empecher ?
Posté : 30 mai 2014, 18:55
Bonjour,
C'est encore moi... j'utilise apache Thrift pour sérialiser des données pour les stocker.
Thrift va générer des classes automatiquement en fonction d'une structure qu'on a défini.
Je peux donc attribuer une valeur:
Mais mon problème c'est qu'il m'est aussi possible de faire :
Pourquoi est ce que rien ne bloque ?
Il y a quelque chose que je n'arrive pas à comprendre...
Pouvez-vous m'éclairer ?
Merci !
C'est encore moi... j'utilise apache Thrift pour sérialiser des données pour les stocker.
Thrift va générer des classes automatiquement en fonction d'une structure qu'on a défini.
class monobjet {
static $_TSPEC;
public $iso = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
self::$_TSPEC = array(
1 => array(
'var' => 'iso',
'type' => TType::STRING,
),
);
}
if (is_array($vals)) {
if (isset($vals['iso'])) {
$this->iso = $vals['iso'];
}
}
}
J'oublie les méthodes.. (qui ne servent qu'à la sérialisation)Je peux donc attribuer une valeur:
$objetcree = new monobjet();
$objetcree->iso = "nimporte quoi en string"; (Thrift va vérifier le type de la donnée.Mais mon problème c'est qu'il m'est aussi possible de faire :
$objetcree->nimportequoi = "blabla";
Alors que je n'ai à aucun moment défini "nimportequoi" dans la classe ...Pourquoi est ce que rien ne bloque ?
Il y a quelque chose que je n'arrive pas à comprendre...
Pouvez-vous m'éclairer ?
Merci !