com php-langspec: Can also defined multiple properties at once: spec/14-classes.md spec/19-grammar.md
[email protected] (Nikita Popov) Mon, 11 Jul 2016 18:37:40 +0000
| Newsgroups | php.standards.cvs |
|---|---|
| Message-ID | <[email protected]> |
Commit: f57050faed1a0ce39fb0c662e9e9fc40a277e3f1 Author: Nikita Popov <[email protected]> Mon, 11 Jul 2016 20:37:40 +0200 Parents: 2ab435e7445d212aeee66f3d7e0d9708980e8faf Branches: master Link: http://git.php.net/?p=php-langspec.git;a=commitdiff;h=f57050faed1a0ce39fb0c662e9e9fc40a277e3f1 Log: Can also defined multiple properties at once Changed paths: M spec/14-classes.md M spec/19-grammar.md Diff: diff --git a/spec/14-classes.md b/spec/14-classes.md index 281a85a..f23bb9c 100644 --- a/spec/14-classes.md +++ b/spec/14-classes.md @@ -447,7 +447,7 @@ $col = Automobile::DEFAULT_COLOR; <pre> <i>property-declaration:</i> - <i>property-modifier variable-name property-initializer<sub>opt</sub></i> ; + <i>property-modifier property-elements</i> ; <i>property-modifier:</i> var @@ -462,6 +462,13 @@ $col = Automobile::DEFAULT_COLOR; <i>static-modifier:</i> static + <i>property-elements:</i> + <i>property-element</i> + <i>property-elements property-element</i> + + <i>property-element:</i> + <i>variable-name property-initializer<sub>opt</sub></i> ; + <i>property-initializer:</i> = <i>constant-expression</i> </pre> @@ -473,10 +480,10 @@ $col = Automobile::DEFAULT_COLOR; **Semantics** -A *property-declaration* defines an instance or static property. +A *property-declaration* defines one or more instance or static properties. If [*visibility-modifier*](#general) is omitted, `public` is assumed. The `var` modifier -implies public visibility. The `static` modifier defines the member as [static member](#class-members). +implies public visibility. The `static` modifier defines the member as a [static member](#class-members). The *property-initializer* for instance properties is applied prior to the class's [constructor](#constructors) being called. diff --git a/spec/19-grammar.md b/spec/19-grammar.md index 3010829..f58f716 100644 --- a/spec/19-grammar.md +++ b/spec/19-grammar.md @@ -1118,7 +1118,7 @@ The grammar notation is described in [Grammars section](09-lexical-structure.md# <i>name</i> = <i>constant-expression</i> <i>property-declaration:</i> - <i>property-modifier variable-name property-initializer<sub>opt</sub></i> ; + <i>property-modifier property-elements</i> ; <i>property-modifier:</i> var @@ -1133,6 +1133,13 @@ The grammar notation is described in [Grammars section](09-lexical-structure.md# <i>static-modifier:</i> static + <i>property-elements:</i> + <i>property-element</i> + <i>property-elements property-element</i> + + <i>property-element:</i> + <i>variable-name property-initializer<sub>opt</sub></i> ; + <i>property-initializer:</i> = <i>constant-expression</i>