ID: 8796
Updated by: andre
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Analyzed
Bug Type: Feature/Change Request
Assigned To: 
Comments:

there is nothing ambigous (the way you described), except if
enclosed by double quotes in strings, we should maintain
backwards compatibility here, but maybe we shouldn't... :)

I guess (not verified) this applies to here-docs too

Previous Comments:
---------------------------------------------------------------------------

[2001-01-19 02:12:19] [EMAIL PROTECTED]
In PHP4 it is possible to construct an object and refer to 
a member using the notation:

$foo->bar

where foo is the object and bar is the member.

There has been some discussion in the php.net documentation
area on OO about the inability to further extend this 
notation to do something like:

print "$foo->bar->baz";

The reason given for not being able to do this is due
to the ambiguity of the multiple -> operators.

Yes, the -> operator could be ambiguous.  The '+', '*', '%', ...  operators could also 
be ambiguous.  Each language which
uses such binary operators disambiguates them by defining
and associativity and precedence to these operators.

Similarly, for languages which support similar semantics
for an -> operator there is a disambiguating assignment 
of associativity and precedence which allows constructs
like $foo->bar->baz to be unambiguously interpreted.

I am requesting that the specification for PHP be broadened
to include sufficient associativity and precedence constraints on -> to allow 
$foo->bar->baz to be disambiguated.

I believe the most common disambiguation would have:

$foo->bar->baz

refer to "the value of the member 'baz' of the object denoted by the value of the 
member 'bar' of the object denoted by the value of the variable foo."

Of course, I forget at the moment whether that's left- or right-associative, and the 
precedence should presumably be fine set at its current level.


---------------------------------------------------------------------------



ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=8796&edit=2


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to