If you want to make a recursive closure, you will need to write this:
$some_var1="1";
$some_var2="2";
function($param1, $param2) use ($some_var1, $some_var2)
{
//some code here
call_user_func(__FUNCTION__, $other_param1, $other_param2);
//some code here
}
If you need to pass values by reference you should check out
http://www.php.net/manual/en/function.call-user-func.php
http://www.php.net/manual/en/function.call-user-func-array.php
If you're wondering if $some_var1 and $some_var2 are still visible by using the call_user_func, yes, they are available.