daltcore/pushover
Laravel package for sending Pushover.net notifications to iOS/Android. Includes a facade/service provider, simple push(title, message) API, and options for URL, callback, sound, and more. Configure with your app token and user key.
events or jobs). Poor fit for high-frequency, real-time messaging (e.g., chat apps).config, services, and facades for seamless DI. Example:
$this->notify('User', 'Deployment failed!', ['priority' => 1]);
.env or config/services.php for API keys, aligning with Laravel’s 12-factor practices.guzzlehttp/guzzle).Notification channel for other providers.Notification channel be justified?Job or Middleware.config/caching, RouteServiceProvider changes).array_merge deprecations).guzzlehttp/guzzle (v6.x): Likely compatible with Laravel 5.x but may need updates for newer Laravel.Log::error() → Pushover)..env configuration and facade usage.| Component | Risk Level | Mitigation |
|---|---|---|
| Laravel 5.x → 9/10 | High | Use laravel-shift/upgrade or polyfills. |
| PHP 7.3 → 8.x | Medium | Test with PHPUnit + PHPStan. |
| Guzzle v6 → v7 | Low | Dependency update (if no breaking changes). |
| Custom Middleware | Low | Extend package with decorators. |
composer.json (prefer require-dev if experimental).php artisan vendor:publish --provider="DALTCORE\Pushover\PushoverServiceProvider".config/app.php (Laravel 5.x) or use PackageServiceProvider (Laravel 6+).file_get_contents() or curl calls with $this->notify().Notification channel.guzzlehttp/guzzle for security advisories (e.g., CVE-2021-23809).Log::debug() for API response inspection.$this->app->make('pushover')->setDebug(true);
try {
$this->notify(...);
} catch (Exception $e) {
Log::critical("Pushover failed: " . $e->getMessage());
// Trigger fallback (e.g., email, Slack)
}
Jobs to avoid blocking requests:
NotificationJob::dispatch('User', 'Alert', ['priority' => 1]);
| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Pushover API downtime | Alerts lost | Implement fallback (e.g., email, Slack). |
| Invalid API key | Silent failures | Validate key on startup. |
| Rate limit exceeded | Dropped messages | Exponential backoff + queue. |
| Laravel config corruption | Package unusable | Use environment variables for keys. |
| PHP version incompatibility | Runtime errors | Containerize with pinned PHP version. |
DeployedAt event → Pushover).$this->notify() calls (e.g., Exception handlers, Jobs).notify()).How can I help you explore Laravel packages today?