class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .
class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .class closure { private static $l_closures = array(); public static function create($_scope, $_args, $_code) { $id = md5( "closure::create>" .serialize($_scope).$_args.$_code); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $header_code = '$scope=closure::scope("' .$id. '");' ; $header_end = 'unset($scope);' ; if ($_scope) { foreach ($_scope as $key => $value) { if ($key == 'scope' ) { $header_end = '$' .$key. '=&$scope["' .$key. '"];' ; } else { $header_code .= '$' .$key. '=&$scope["' .$key. '"];' ; } } } $header_code .= $header_end; $closure = array( "function" => create_function($_args, $header_code.$_code), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function bind($_scope, $_function) { $id = md5( "closure::bind>" .serialize($_scope).$_function); if (isset(self::$l_closures[$id])) { print "exists<br>" ; return self::$l_closures[$id][ "function" ]; } print "create new<br>" ; $closure = array( "function" => create_function( '' , '$scope=closure::scope("' .$id. '");$debug=debug_backtrace();$args=$debug[0]["args"];call_user_func_array("' .$_function. '", array_merge($scope,$args));' ), "scope" => is_array($_scope) ? $_scope : array() ); self::$l_closures[$id] = $closure; return $closure[ "function" ]; } public static function scope($_id) { if (isset(self::$l_closures[$_id])) { return self::$l_closures[$_id][ "scope" ]; } return array(); } } * This source code was highlighted with Source Code Highlighter .
* This source code was highlighted with Source Code Highlighter .
- function outer1 ($ _ arg)
 - {
 - $ local_var = 70;
 - return closure :: create (
 - / * scope * / array ( '_arg' => & $ _ arg, 'local_var' => & $ local_var),
 - / * args * / '& $ _ inner_arg' ,
 - / * code * / 'print $ _arg. "". $ local_var. "". $ _ inner_arg; $ _arg = 110; $ _inner_arg = 120; '
 - );
 - }
 - $ a = 50;
 - $ inner1 = outer1 (& $ a);
 - $ inner1 = outer1 (& $ a);
 - $ inner1 = outer1 (& $ a);
 - $ ia = 90;
 - $ inner1 (& $ ia);
 - print "" . $ a. "" . $ ia. "<br>" ;
 - function inner2 ($ _ arg, $ local_var, & $ _ inner_arg)
 - {
 - print $ _arg. "" . $ local_var. "" . $ _ inner_arg; $ _arg = 110; $ _inner_arg = 120;
 - }
 - function outer2 ($ _ arg)
 - {
 - $ local_var = 70;
 - return closure :: bind (
 - / * scope * / array (& $ _ arg, & $ local_var),
 - / * function * / 'inner2'
 - );
 - }
 - $ a = 50;
 - $ inner2 = outer2 (& $ a);
 - $ inner2 = outer2 (& $ a);
 - $ inner2 = outer2 (& $ a);
 - $ ia = 90;
 - $ inner2 (& $ ia);
 - print "" . $ a. "" . $ ia. "<br>" ;
 
* This source code was highlighted with Source Code Highlighter .
- function f ()
 - {
 - $ args = func_get_args ();
 - $ args [0] = 10;
 - }
 - $ a = 20;
 - f (& $ a);
 - print $ a. "<br>" ;
 - $ a = 20;
 - call_user_func_array ( 'f' , array (& $ a));
 - print $ a. "<br>" ;
 
* This source code was highlighted with Source Code Highlighter .
- function f ()
 - {
 - $ debug = debug_backtrace ();
 - $ debug [0] [ "args" ] [0] = 10;
 - }
 - $ a = 20;
 - f (& $ a);
 - print $ a. "<br>" ;
 - $ a = 20;
 - call_user_func_array ( 'f' , array (& $ a));
 - print $ a. "<br>" ;
 
* This source code was highlighted with Source Code Highlighter .
- call_user_func_array ( 'f' , array (& $ a));
 
* This source code was highlighted with Source Code Highlighter .
- public static function scope ($ _ id)
 - {
 - $ result = array ();
 - if (isset (self :: $ l_closures [$ _ id]))
 - {
 - if (self :: $ l_closures [$ _ id] [ "scope" ])
 - {
 - foreach (self :: $ l_closures [$ _ id] [ "scope" ] as $ key => $ value)
 - {
 - $ result [$ key] = & self :: $ l_closures [$ _ id] [ "scope" ] [$ key];
 - }
 - }
 - }
 - return $ result;
 - }
 
* This source code was highlighted with Source Code Highlighter .
- function inner2 ($ _ arg, $ local_var, & $ _ inner_arg)
 - {
 - $ local_var ++;
 - print $ _arg. "" . $ local_var. "" . $ _ inner_arg; $ _arg = 110; $ _inner_arg = 120;
 - }
 - function outer2 ($ _ arg)
 - {
 - $ local_var = 70;
 - return closure :: bind (
 - / * scope * / array (& $ _ arg, & $ local_var),
 - / * function * / 'inner2'
 - );
 - }
 - $ a = 50;
 - $ inner2 = outer2 (& $ a);
 - $ inner2 = outer2 (& $ a);
 - $ inner2 = outer2 (& $ a);
 - $ ia = 90;
 - $ inner2 (& $ ia);
 - print "" . $ a. "" . $ ia. "<br>" ;
 - $ inner2 (& $ ia);
 - print "" . $ a. "" . $ ia. "<br>" ;
 
Source: https://habr.com/ru/post/77282/
All Articles