]> granicus.if.org Git - php/commitdiff
Add "Strict error" when assigning value to property of inexistent object
authorFelipe Pena <felipe@php.net>
Thu, 28 Feb 2008 19:33:40 +0000 (19:33 +0000)
committerFelipe Pena <felipe@php.net>
Thu, 28 Feb 2008 19:33:40 +0000 (19:33 +0000)
Zend/tests/objects_016.phpt [new file with mode: 0644]
Zend/zend_execute.c

diff --git a/Zend/tests/objects_016.phpt b/Zend/tests/objects_016.phpt
new file mode 100644 (file)
index 0000000..a7085c4
--- /dev/null
@@ -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
index 3b09f6cb0e282927af0513026a5693fb39cba62d..5115c7b9fed749374112ed2a8656175ccb753469 100644 (file)
@@ -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);