Allowing "use" inside function body assuming allowing it everywhere.
$x = function($arg) {
if ($arg) {
use $a;
} else {
use $b;
}
};
I don't like such ability and of course we won't be able to use "use"
keyword as it will conflict with import statement.
Thanks. Dmitry.
Moriyoshi Koizumi wrote:
Dmitry Stogov wrote:
Marcus Boerger wrote:
Hello Dmitry,
Monday, August 4, 2008, 8:55:00 AM, you wrote:
Hi Marcus,
see below
Marcus Boerger wrote:
Hello Internals,
please let's not introduce new inconsistencies. Rather lets make new
stuff consistent with old stuff during the alpha phase of 5.3.
1) new keyword 'use'. Semantically it is the same as 'static' or
'global'
so it should be used in the same location.
For me 'use' is the best keyword as it says that closure uses
variables from current content. (the same keyword is used for import
from namespaces)
To be clear, I wasn't complaining about the keyword per se. I just
prefer
it to be inside the curly braces of a closure next to global rather
than in
front of it.
No. The list of lexical variables is a part of the closure definition.
The earlier implementation had "lexical" keyword which worked as you
are suggesting, but it was much unclear.
I don't think there are many differences in ambiguity between
$closure = function ($arg) { use $a;
...
};
and
$closure = function ($arg) use ($a) {
};
Moriyoshi
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php