Hi,

2012/4/13 Laruence <larue...@php.net>:
> On Fri, Apr 13, 2012 at 4:19 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
>> Hi,
>>
>> 2012/4/13 Verbitsky Alexander <verbitsky_alexa...@mail.by>:
>>> On 04/12/2012 06:38 PM, Laruence wrote:
>>>>
>>>> Hi:
>>>>      I have made a RFC to allow user use T_AS in the closure declaration,
>>>> like:
>>>>
>>>>      function () use($long as $l,&$long as $r) {
>>>>
>>>>      }
>>>>
>>>>      here is the RFC: https://wiki.php.net/rfc/useas
>>>>
>>>>      any ideas?  thanks
>>>>
>>> Closure is a functional literal that can pull with itself all variables
>>> visible in current scope where it was created. For my opinion using keyword
>>> 'use' is not necessary and i would have removed it. If you need different
>>> name of variable maybe you need anonymous function.
>>>
>>
>> You might be used to other language's scoping, but
>> this is the way PHP works.
> closure was not the way PHP works.  but now,  it has be introduced in PHP
>>
>> Named function cannot do this, but anyway
>> function FUNC($a, $b, $c) uses ($d, $e, $f) {}
>> is like
>> function FUNC($a, $b, $c) { global $d, $e, $f; }
>
> they do are different,  previous is a lexical variable.  that means it
> equal to the value when the closure is created.
>
> the latter is the value when it was called.

Thanks for correction.
I should have mentioned that.

It's only similar that these are importing outside vars
into current scope. Importing is the same, but scope
is not.

I wander if there are any good named function usage
that imports current scope vars.

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to