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

Reply via email to