> It would blur the concept of a function body scope, and thus the mental model
> of how the language works.
> E.g. are local variables and parameters shared between the try {} and the
> catch {} block?
PHP documentation stresses it that the scope is always the entire function,
i.e. it isn't like C/C++ where each compound statement makes up a new scope.
The construct may indeed look alien to those who haven't had experience with
C++, however, I believe this is a matter of a single clarification statement
about scope, plus a tip like "just think of it as if wrapping curly braces are
there around it, implicitly" (which is in fact the case), and soon you'll find
yourself comfortable with it.
> It would also mean that userland PHP parsers and IDEs need to support the
> syntax.
True. However, this is true for pretty much any language change, and PHP has
seen quite a few lately (typehints, anonymous classes.) I don't think we should
be worried about changes _other_ projects would have to make to cope up with
language evolution lest it becomes an (unnecessary and surrogate) obstacle. My
vision is that if some company/group produces an IDE, it is but natural to
expect them to be ready to adapt to language changes.
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php