diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2019-09-09 16:57:23 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2019-09-09 19:05:23 +0200 |
commit | bcf9d1e9953aec84c25ae3da1d6f775cbc52e0bd (patch) | |
tree | e7d6ddc9734bbc115d65ae5e9260b9c16183a558 | |
parent | 51fd8bd3eed46c7908937162eb8f245eeb9c6071 (diff) | |
download | php-git-bcf9d1e9953aec84c25ae3da1d6f775cbc52e0bd.tar.gz |
new_variable '{' expr '}' is deprecated as well
Curly brace syntax for accessing array elements and string offsets is
deprecated [1]; this should also be the case for respective `new`
expressions.
This issue has been reported by brzuchal@php.net.
[1] <https://wiki.php.net/rfc/deprecate_curly_braces_array_access>
-rw-r--r-- | Zend/tests/varSyntax/newVariable.phpt | 1 | ||||
-rw-r--r-- | Zend/zend_language_parser.y | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/Zend/tests/varSyntax/newVariable.phpt b/Zend/tests/varSyntax/newVariable.phpt index 360f99ac36..5505ffc0f1 100644 --- a/Zend/tests/varSyntax/newVariable.phpt +++ b/Zend/tests/varSyntax/newVariable.phpt @@ -23,6 +23,7 @@ var_dump(new $weird[0]->foo::$className); ?> --EXPECTF-- +Deprecated: Array and string offset access syntax with curly braces is deprecated in %s on line %d object(stdClass)#%d (0) { } object(stdClass)#%d (0) { diff --git a/Zend/zend_language_parser.y b/Zend/zend_language_parser.y index c25d13ecf2..f3bb663e0c 100644 --- a/Zend/zend_language_parser.y +++ b/Zend/zend_language_parser.y @@ -1189,7 +1189,7 @@ new_variable: | new_variable '[' optional_expr ']' { $$ = zend_ast_create(ZEND_AST_DIM, $1, $3); } | new_variable '{' expr '}' - { $$ = zend_ast_create(ZEND_AST_DIM, $1, $3); } + { $$ = zend_ast_create_ex(ZEND_AST_DIM, ZEND_DIM_ALTERNATIVE_SYNTAX, $1, $3); } | new_variable T_OBJECT_OPERATOR property_name { $$ = zend_ast_create(ZEND_AST_PROP, $1, $3); } | class_name T_PAAMAYIM_NEKUDOTAYIM simple_variable |