private static function makeCallable($expression)
    {
        if (! array_key_exists($expression, static::$map)) {
            $return = "return ($expression);";
            try {
                $lambda = create_function(static::$signature, $return);
            } catch (\ParseError $ex) {
                $lambda = false;
            } finally {
                if (false === $lambda) {
                    throw new \LogicException(sprintf(
                        'Expression is not valid PHP code: given=[%s], becomes=[%s]',
                        $expression,
                        $return
                    ));
                } else {
                    static::$map[$expression] = $lambda;
                }
            }
        }
        return static::$map[$expression];
    }
private static function makeCallable($expression)
    {
        if (! array_key_exists($expression, static::$map)) {
            $return = "return ($expression);";
            try {
                $lambda = create_function(static::$signature, $return);
            } catch (\ParseError $ex) {
                $lambda = false;
            } finally {
                if (false === $lambda) {
                    throw new \LogicException(sprintf(
                        'Expression is not valid PHP code: given=[%s], becomes=[%s]',
                        $expression,
                        $return
                    ));
                } else {
                    static::$map[$expression] = $lambda;
                }
            }
        }
        return static::$map[$expression];
    }
private static function makeCallable ( $ expression ) { if ( ! array_key_exists ( $ expression , static :: $ map ) ) { $ return = "return ($expression);" ; try { $ lambda = create_function ( static :: $ signature , $ return ) ; } catch ( \ ParseError $ ex ) { $ lambda = false ; } finally { if ( false === $ lambda ) { throw new \ LogicException ( sprintf ( 'Expression is not valid PHP code: given=[%s], becomes=[%s]' , $ expression , $ return ) ) ; } else { static :: $ map [ $ expression ] = $ lambda ; } } } return static :: $ map [ $ expression ] ; }
Given a string expression, turn that into an anonymous function.
Cache the result, so as to keep memory impacts low.

@throw \LogicException
Given a string expression turn that into an anonymous function . Cache the result so as to keep memory impacts low .