boson-php/uri
Boson URI is a small PHP library for parsing, building, normalizing, and comparing URIs. Provides immutable URI objects, convenient accessors for scheme/host/path/query/fragment, and helpers for resolving and manipulating URLs in a safe, standards-friendly way.
filter_var() or parse_url(), this could be a clean fit.boson-php/boson, it suggests modularity—ideal for microservices or monolithic apps where URI logic is isolated. However, its standalone status (no stars, unclear maintenance) raises questions about long-term viability.parse_url, filter_var) or libraries like symfony/routing or league/uri-interfaces may suffice. Justification for adoption should hinge on unique features (e.g., RFC-compliant parsing, custom schemes, or edge-case handling).mailto:, data:, internationalized domains)?parse_url/filter_var don’t?symfony/routing) been evaluated?explode() suffices).https://user:pass@example.com/path?query=1).parse_url and manual parsing.class UriHelper {
public static function parse(string $uri): array {
return \Boson\Uri\Uri::parse($uri); // Abstract calls
}
}
app/Http/Middleware/ValidateUri.php.Uri::make() helper.composer.json as require-dev for testing.Uri::normalize() for storage").magnet: URIs, extend Boson\Uri\Uri and register via Uri::addScheme()."Uri component).Log::debug('Parsed URI', ['uri' => $uri, 'components' => \Boson\Uri\Uri::parse($uri)]).Uri::parse() fail on this input?").try {
$parsed = \Boson\Uri\Uri::parse($uri);
} catch (\Boson\Uri\Exception\InvalidUri $e) {
// Fallback to manual parsing or reject.
}
parse_url for high-throughput scenarios (e.g., 10K URIs/sec).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Package stops working (e.g., PHP 8.2+ incompatibility) | URI parsing fails in production. | Fallback to parse_url + manual fixes. |
| Undocumented edge case (e.g., IPv6 URIs) | Silent failures or incorrect parsing. | Test suite with RFC-compliant URIs. |
| Dependency vulnerabilities | Security risk if package pulls in vulnerable deps. | Audit composer why boson-php/uri. |
| Maintainer abandons package | No future updates or bugfixes. | Fork and maintain internally. |
Uri::parse() vs. parse_url()."https://user:pass@sub.example.com:8080/path?query=1#frag).InvalidUriException).Uri::parse() without validation.").How can I help you explore Laravel packages today?