- What is xenji/prowlphp and what is it used for?
- xenji/prowlphp is a small PHP client for the Prowl push notification service, used to send iOS push alerts from PHP applications. It provides a fluent wrapper around Prowl's API and supports multiple API keys, custom application names, and exception-based errors. In Laravel, treat it as a legacy outbound adapter rather than a core dependency.
- How do I install xenji/prowlphp with Composer?
- The package is intended to be installed with Composer as xenji/prowlphp, but the technical assessment says you must confirm whether it resolves from Packagist or only from an unknown repository. Run composer require xenji/prowlphp in a sandbox and check autoloading, PHP compatibility, and transitive dependencies before adopting it. If Packagist resolution fails, vendor or fork the code privately and pin the version.
- Does xenji/prowlphp support Laravel 8, 9, 10, and 11?
- There is no reliable, tested Laravel version matrix in the provided context, and the assessment found no evidence of service-provider integration despite the package description mentioning Laravel readiness. Treat Laravel 8, 9, 10, and 11 compatibility as unproven and test your exact PHP and Laravel matrix in a sandbox. For modern Laravel apps, wrap it in a custom notification channel rather than calling it from domain code.
- Is xenji/prowlphp compatible with PHP 8 and PHP 8.1+?
- PHP 8 and PHP 8.1+ compatibility is a significant risk because the package has a 2016-era release and is archived. You should sandbox-install it on your target PHP versions, run static analysis, and check for deprecations, type errors, and TLS behavior. If it fails, fork and patch it privately or replace it with a small in-house client.
- How do I send a Prowl push notification from Laravel with this package?
- The package exposes a fluent Prowl API wrapper, so you typically configure your API key and app name, then call its send method from a queued job or a custom Laravel notification channel. Keep the package behind a package-agnostic ProwlClient interface and store the API key in config/services.php backed by environment variables or a secret manager. Do not let controllers or domain services call the package directly.
- Can xenji/prowlphp send to multiple Prowl API keys at once?
- Yes, the package is described as supporting multiple Prowl API keys, so you can notify several recipients or devices in one flow. Store each key securely and rotate it independently, and log failures per key so one bad key does not hide delivery problems. Confirm the exact array or iteration syntax in the README before relying on it.
- How does xenji/prowlphp handle errors and failed notifications?
- Error handling is exception-based, so catch package exceptions at the boundary and convert them into your application's notification results. The assessment notes that timeout, retry, rate-limit, and delivery-receipt behavior are not documented, so you must verify Prowl's API limits and add your own timeouts, backoff, and logging. Because sends may not be idempotent, avoid blind retries that could duplicate alerts.
- Can I queue Prowl notifications and test xenji/prowlphp safely?
- There is no evidence of built-in Laravel queue support, so dispatch a Laravel queued job that calls your wrapper and keep the send out of the request cycle. Test with a non-production Prowl key, mock HTTP responses where possible, and run a small integration test on the exact PHP and Laravel matrix. Add a feature flag and canary sends before enabling it broadly.
- Is xenji/prowlphp maintained and safe for production use?
- No, it should not be treated as safe production infrastructure without mitigation: the package is archived, has a 2016 release, low community support, and no upstream security patches or compatibility guarantees. Use it only for a legacy hard requirement, assign an internal owner, pin or vendor it, and plan an exit. Confirm Prowl is still an approved provider and review its service terms and data handling before production use.
- What are the alternatives to xenji/prowlphp for Laravel push notifications?
- Prefer Laravel's notification abstraction with a supported transport such as APNs directly, Firebase, OneSignal, Pushover, or another approved push provider. Because the package is a thin API wrapper, a 20-50 line Laravel HTTP client behind a ProwlClient interface may be lower risk than adopting the archived package. That approach lets you change transports without touching domain code.