PHP have the Undefined variable/property notice to inform a programmer
about using uninitialized variables/properties. While both $b = $b + 5
and $c += 5 issues the notice (and also $a["b"] = $a["b"] + 5 and
$a["c"] += 5 in case of arrays), in case of objects only $o->b = $o->b + 5
issues the notice but $o->c += 5 not. Shouldn't be the notice issued
also with $o->c += 5? It is clearly usage of an undefined property.
Jakub Vrana
PHP have the Undefined variable/property notice to inform a programmer
about using uninitialized variables/properties. While both $b = $b + 5
and $c += 5 issues the notice (and also $a["b"] = $a["b"] + 5 and
$a["c"] += 5 in case of arrays), in case of objects only $o->b = $o->b + 5
issues the notice but $o->c += 5 not. Shouldn't be the notice issued
also with $o->c += 5? It is clearly usage of an undefined property.
I'd say it should.
Derick
I had always assumed this was down to the use of __set
class foo
{
function __set($var, $value) { }
}
$o = new foo;
$o->b = $o->b + 5;
$o->c += 5;
Displays the exact same properties.
Scott
Jakub Vrana wrote:
PHP have the Undefined variable/property notice to inform a programmer
about using uninitialized variables/properties. While both $b = $b + 5
and $c += 5 issues the notice (and also $a["b"] = $a["b"] + 5 and
$a["c"] += 5 in case of arrays), in case of objects only $o->b = $o->b + 5
issues the notice but $o->c += 5 not. Shouldn't be the notice issued
also with $o->c += 5? It is clearly usage of an undefined property.Jakub Vrana