Vérifier si la propriété existe
Est-il possible de vérifier si une propriété existe qui sont définies à l'aide de la magie setter?
class Test
{
private $vars;
public function __set($key, $value) {
$this->vars[$key] = $value;
}
public function &__get($key)
{
return $this->vars[$key];
}
}
$test = new Test;
$test->myvar = 'yay!';
if (magic_isset($test->myvar)) {
}
Ou n'est-il pas possible et j'ai juste besoin de l'installation d'une autre fonction dans ma classe?
essayez de regarder __isset php.net/manual/en/language.oop5.overloading.php
Eeeck. l'ofc. :P\
Pas vraiment comme @danjordan dit essayer de regarder property_exists en php5+ php.net/manual/en/function.property-exists.php
Ma conjecture est que les gens sont plus susceptibles à la recherche pour
Eeeck. l'ofc. :P\
Pas vraiment comme @danjordan dit essayer de regarder property_exists en php5+ php.net/manual/en/function.property-exists.php
Ma conjecture est que les gens sont plus susceptibles à la recherche pour
property_exists()
en débarquant ici à partir d'un moteur de recherche
OriginalL'auteur PeeHaa | 2012-01-06
Vous devez vous connecter pour publier un commentaire.
Utilisation
__isset()
etisset()
:isset
comportement n'est pas le même queproperty_exist
fonction (c'est à dire, si une propriété existe, mais est égal ànull
oufalse
,isset
retourne normalementfalse
). Cette solution (mais aussi la question) est assez ambigu.OriginalL'auteur Tim Cooper