>> 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

Reply via email to