Of course isset() has a special behaviour. So having some kind of real_isset() or initialized() would be nice.
Regards Thomas Thomas Bley wrote on 26.05.2016 00:38: >>> var_dump($a->z); // 0 + notice >> The notice should be 'variable does not exist' as at this point $a->z >> has no context at all! > > If we keep the private flag of a property after unset(), we should also keep > the type of a property after unset(), e.g. > > class test { > private $z = 42; > > public function __construct() { > unset($this->z); > } > } > $a = new test(); > $a->z = 21; // fatal: Cannot access private property... > > So after unset, $a->z should still have context. > > Regards > Thomas > > Lester Caine wrote on 26.05.2016 00:13: > >> On 25/05/16 22:52, Thomas Bley wrote: >>> var_dump($a->z); // 42 >>> var_dump(isset($a->z)); // true >>> unset($a->z); >> $a->z does not exist at this point >> >>> var_dump(isset($a->z)); // false >> We know that isset is broken so if $a->z is null we also get false ... >> perhaps the 'fault' that isset does not actually work properly is >> biting? But since $a->z does not exist false avoids an error. >> >>> var_dump($a->z); // 0 + notice >> The notice should be 'variable does not exist' as at this point $a->z >> has no context at all! >> >> -- >> Lester Caine - G8HFL >> ----------------------------- >> Contact - http://lsces.co.uk/wiki/?page=contact >> L.S.Caine Electronic Services - http://lsces.co.uk >> EnquirySolve - http://enquirysolve.com/ >> Model Engineers Digital Workshop - http://medw.co.uk >> Rainbow Digital Media - http://rainbowdigitalmedia.co.uk >> >> -- >> PHP Internals - PHP Runtime Development Mailing List >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php