cmnty/push (itself outdated, last updated 2016), which supports GCM (deprecated) and Mozilla Push (obsolete). No Web Push (modern standard) or Firebase Cloud Messaging (FCM) support.AppKernel and Doctrine, forcing Laravel to adopt Symfony’s DI container or use a bridge (e.g., symfony/dependency-injection). Not plug-and-play.cmnty/push (v1.0.0) relies on outdated libraries (e.g., google/api-client v1.x, mozilla/push v0.x). Modern Laravel apps would need to:
spatie/laravel-newsletter (for emails) + web-push-php (for Web Push).symfony/mercure-bundle or firebase/php-jwt + FCM SDK.AppKernel and Doctrine. Workarounds required:
symfony/dependency-injection to load the bundle in Laravel’s service container.AppKernel logic in a custom class (anti-pattern, but possible)..env + config/push.php.ContainerAware traits).web-push-php for Web Push + kreait/firebase-php for FCM.cmnty/push entities to Laravel equivalents (e.g., PushSubscription → Eloquent model).cmnty/push-bundle in a separate Composer package with strict version constraints.composer.json overrides or platform checks to force compatible library versions.config/push.php:
'services' => [
'google' => [
'enabled' => env('PUSH_GOOGLE_ENABLED', false),
'api_key' => env('FCM_SERVER_KEY'), // Modern FCM
],
'webpush' => [
'enabled' => env('PUSH_WEBPUSH_ENABLED', true),
'vapid_keys' => [
'public' => env('WEBPUSH_VAPID_PUBLIC'),
'private' => env('WEBPUSH_VAPID_PRIVATE'),
],
],
],
// PushSubscription.php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class PushSubscription extends Model {
protected $casts = [
'auth' => 'encrypted', // Handle binary auth data
'endpoint' => 'string',
];
}
Cmnty\Push\PushService to Laravel’s container:
$app->bind('push.service.google', function ($app) {
return new \Cmnty\Push\Service\GooglePush(
$app['config']['push.services.google.api_key']
);
});
cmnty/push calls in Laravel events (e.g., PushSent, PushFailed) for observability.cmnty/push-bundle once all features are replaced.symfony/http-client vs. guzzlehttp/guzzle).cmnty/push may block requests; Laravel’s queue system is unused.AppKernel, ContainerAware, XML mappings.Cmnty\Push\EndPoint vs. modern Web Push PushSubscription).How can I help you explore Laravel packages today?