Browse Source

Add "Strict error" when assigning value to property of inexistent object

experimental/first_unicode_implementation
Felipe Pena 19 years ago
parent
commit
ff8e13dd86
  1. 28
      Zend/tests/objects_016.phpt
  2. 1
      Zend/zend_execute.c

28
Zend/tests/objects_016.phpt

@ -0,0 +1,28 @@
--TEST--
Strict error when assigning value to property of inexistent object
--FILE--
<?php
error_reporting(E_ALL);
echo "\nAbout to create a default object from empty value:\n";
$obj1->p = 1;
echo "\nAbout to create a default object from empty value again:\n";
$obj2->p[] = 1;
echo "\nAbout to create a default object from empty value one more time:\n";
$a = 1;
$obj3->p = &$a;
?>
--EXPECTF--
About to create a default object from empty value:
Strict Standards: Creating default object from empty value in %s on line %d
About to create a default object from empty value again:
Strict Standards: Creating default object from empty value in %s on line %d
About to create a default object from empty value one more time:
Strict Standards: Creating default object from empty value in %s on line %d

1
Zend/zend_execute.c

@ -1291,6 +1291,7 @@ static void zend_fetch_property_address(temp_variable *result, zval **container_
SEPARATE_ZVAL(container_ptr);
container = *container_ptr;
}
zend_error(E_STRICT, "Creating default object from empty value");
object_init(container);
} else {
result->var.ptr_ptr = &EG(error_zval_ptr);

Loading…
Cancel
Save