> On 31 במרץ 2016, at 20:48, "guilhermebla...@gmail.com" > <guilhermebla...@gmail.com> wrote: > > To me it's simply as that: > > > class_statement: > variable_modifiers optional_type property_list ';' { $$ = $2; > $$->attr = $1 } > | ... > > property_list: > property_list ',' property { $$ = zend_ast_list_add($1, $3); } > | property { $$ = zend_ast_create_list(1, ZEND_AST_PROP_DECL, $1); } > ; > > > I think this makes the concept more palatable compared to others and other > languages (single type declaration per statement). >
Exactly (code version). >> Honestly I never even realized that you could put multiple declarations on >> a single line, have never done so, and would reject code from any of my >> projects that did so as poor style. :-) That said, since it is legal I >> agree that it should be kept unambiguous and consistent. >> >> From what Zeev is saying, the following seems like a reasonable rule: You >> get ONE visibility modifier and ONE type statement per declaration, and >> both must come at the beginning, period. That is, the following are legal: >> >> public int $a, $b; >> protected $a, $b; >> var int $a, $b; >> >> And always apply across the entire line, period. >> >> The following are all syntax errors: >> >> public int $a, string $b; >> var int $a, protected $b; >> private $a, float $b; >> >> That seems fairly easy for a reader to follow, reasonably consistent, and >> I presume straightforward to implement (not being a C developer I hand-wave >> that part...). If you want to do something more complex... make it >> multiple statements. That's why multiple statements exist. >> >> Zeev, is that an accurate summary of what you're arguing? >> Exactly (human version :) Zeev -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php