PHP environment config with validation

PHP
<?php
function env(string $name, ?string $default = null, ?string $pattern = null): string
{
    $value = getenv($name);
    if ($value === false || $value === '') {
        if ($default !== null) return $default;
        throw new RuntimeException('Missing environment variable: ' . $name);
    }
    if ($pattern !== null && preg_match($pattern, $value) !== 1) {
        throw new RuntimeException('Invalid value for ' . $name . ': ' . $value);
    }
    return $value;
}