public static function instance(array $values = [])
    {
        if (!self::$instance) {
            self::$instance = static::load($values);
        } elseif ($values) {
            $instance = self::$instance;
            foreach ($values as $key => $value) {
                $instance->offsetSet($key, $value);
            }
        }

        return self::$instance;
    }
public static function instance(array $values = [])
    {
        if (!self::$instance) {
            self::$instance = static::load($values);
        } elseif ($values) {
            $instance = self::$instance;
            foreach ($values as $key => $value) {
                $instance->offsetSet($key, $value);
            }
        }

        return self::$instance;
    }
public static function instance ( array $ values = [ ] ) { if ( ! self :: $ instance ) { self :: $ instance = static :: load ( $ values ) ; } elseif ( $ values ) { $ instance = self :: $ instance ; foreach ( $ values as $ key => $ value ) { $ instance -> offsetSet ( $ key , $ value ) ; } } return self :: $ instance ; }
Return the Grav instance. Create it if it's not already instanced

@param array $values

@return Grav
Return the Grav instance . Create it if it s not already instanced