bookeenweb/opds-parser
PHP library for parsing OPDS-compliant catalog feeds. Fetch and parse feeds from a local file or URL, and extract OpenSearch search endpoints from opensearchdescription XML to help build catalog search features.
spatie/array-to-xml for output) or custom logic.OpdsParserBusiness manually in services/controllers (lowest coupling).Opds::parseUrl()) to abstract instantiation.strict_types or modern PHP features).composer require.throw HttpException for failed URLs).Log::debug('Parsed OPDS entries:', $result)).require-dev for testing if the package lacks tests.libxml_use_internal_errors() checks.Guzzle for HTTP requests).parseUrl() for public feeds, parseFile() for cached XML").jenssegers/atom for Atom feeds).DOMDocument warnings).timeout parameter to HTTP requests).SimpleXML with libxml_disable_entity_loader() for security.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Malformed OPDS XML | Parser crashes or returns invalid data | Validate with libxml_get_errors() |
| Unreachable feed URL | Timeout/error | Retry logic + circuit breaker (e.g., spatie/backoff) |
| Large feed (>10MB) | Memory exhaustion | Stream parsing or reject oversized feeds |
| PHP version incompatibility | Runtime errors | Test on target PHP version; fork if needed |
| OPDS 2.0 feed (unsupported) | Partial/invalid parsing | Reject or transform to OPDS 1.0 |
parseUrl() return value for null").How can I help you explore Laravel packages today?