public static function get(string $key, $default = null)
    {
        $value = \getenv($key);

        if ($value === false) {
            return $default instanceof Closure ? $default() : $default;
        }

        if (\preg_match('/base64:|\'base64:|"base64:/', $value) === 1) {
            return \base64_decode(\mb_substr($value, 7), true);
        }

        if (\in_array(
            \mb_strtolower($value),
            [
                'false',
                '(false)',
                'true',
                '(true)',
                'yes',
                '(yes)',
                'no',
                '(no)',
                'on',
                '(on)',
                'off',
                '(off)',
            ],
            true
        )) {
            $value = \str_replace(['(', ')'], '', $value);

            return \filter_var(
                $value,
                \FILTER_VALIDATE_BOOLEAN,
                \FILTER_NULL_ON_FAILURE
            );
        }

        if ($value === 'null' || $value === '(null)') {
            return null;
        }

        if (\is_numeric($value)) {
            return $value + 0;
        }

        if ($value === 'empty' || $value === '(empty)') {
            return '';
        }

        if (\mb_strlen($value) > 1 &&
            \mb_substr($value, 0, \mb_strlen('"')) === '"' &&
            \mb_substr($value, -\mb_strlen('"')) === '"'
        ) {
            return \mb_substr($value, 1, -1);
        }

        return $value;
    }
public static function get(string $key, $default = null)
    {
        $value = \getenv($key);

        if ($value === false) {
            return $default instanceof Closure ? $default() : $default;
        }

        if (\preg_match('/base64:|\'base64:|"base64:/', $value) === 1) {
            return \base64_decode(\mb_substr($value, 7), true);
        }

        if (\in_array(
            \mb_strtolower($value),
            [
                'false',
                '(false)',
                'true',
                '(true)',
                'yes',
                '(yes)',
                'no',
                '(no)',
                'on',
                '(on)',
                'off',
                '(off)',
            ],
            true
        )) {
            $value = \str_replace(['(', ')'], '', $value);

            return \filter_var(
                $value,
                \FILTER_VALIDATE_BOOLEAN,
                \FILTER_NULL_ON_FAILURE
            );
        }

        if ($value === 'null' || $value === '(null)') {
            return null;
        }

        if (\is_numeric($value)) {
            return $value + 0;
        }

        if ($value === 'empty' || $value === '(empty)') {
            return '';
        }

        if (\mb_strlen($value) > 1 &&
            \mb_substr($value, 0, \mb_strlen('"')) === '"' &&
            \mb_substr($value, -\mb_strlen('"')) === '"'
        ) {
            return \mb_substr($value, 1, -1);
        }

        return $value;
    }
public static function get ( string $ key , $ default = null ) { $ value = \ getenv ( $ key ) ; if ( $ value === false ) { return $ default instanceof Closure ? $ default ( ) : $ default ; } if ( \ preg_match ( '/base64:|\'base64:|"base64:/' , $ value ) === 1 ) { return \ base64_decode ( \ mb_substr ( $ value , 7 ) , true ) ; } if ( \ in_array ( \ mb_strtolower ( $ value ) , [ 'false' , '(false)' , 'true' , '(true)' , 'yes' , '(yes)' , 'no' , '(no)' , 'on' , '(on)' , 'off' , '(off)' , ] , true ) ) { $ value = \ str_replace ( [ '(' , ')' ] , '' , $ value ) ; return \ filter_var ( $ value , \ FILTER_VALIDATE_BOOLEAN , \ FILTER_NULL_ON_FAILURE ) ; } if ( $ value === 'null' || $ value === '(null)' ) { return null ; } if ( \ is_numeric ( $ value ) ) { return $ value + 0 ; } if ( $ value === 'empty' || $ value === '(empty)' ) { return '' ; } if ( \ mb_strlen ( $ value ) > 1 && \ mb_substr ( $ value , 0 , \ mb_strlen ( '"' ) ) === '"' && \ mb_substr ( $ value , - \ mb_strlen ( '"' ) ) === '"' ) { return \ mb_substr ( $ value , 1 , - 1 ) ; } return $ value ; }
Gets the value of an environment variable. Supports boolean, empty, null and base64 prefix.

@param string $key
@param mixed  $default

@return mixed
Gets the value of an environment variable . Supports boolean empty null and base64 prefix .