idci/notification-bundle
A Symfony bundle for building in-app notification systems: define notifications, queue and dispatch them to users through configurable channels, and manage read/unread state with Doctrine-backed entities and event-driven notifiers.
Notifiable trait, via(), mail/database/broadcast channels, queue integration). First-party, maintained, free, PHP 8 compatible.symfony/notifier (5.3+) or a maintained bundle. Do not inherit Symfony2-era code.For executives (bottom line): Do not adopt this package. It is a Symfony2 bundle — a framework generation that has been end-of-life since 2018 — and it does not target Laravel at all. With 4 GitHub stars and zero dependent projects, there is no community, no maintenance signal, and no security response process. Adopting it would mean bridging EOL components into a modern Laravel application, inheriting transitive vulnerability risk, and owning the fork forever, in exchange for zero differentiated capability. Our notification needs are already covered by first-party, framework-maintained tooling. Recommendation: treat it as reference material only; fund the notification feature through Laravel's native Notifications API or a small internal abstraction we control.
For engineering: The package attacks a legitimate problem space — multi-channel notification modeling, persistence, and delivery — but its implementation is bound to Symfony2's container, Doctrine ORM, and event dispatcher. There is no ServiceProvider, no facade, no publishable config, and no Laravel-aware mail or queue integration; Composer will not resolve it cleanly into a PHP 8.2+ app. The useful path is to read its notifier-per-channel and entity patterns, extract any non-obvious routing or batching rules as explicit service classes behind an interface, and rebuild them on Notifiable, via(), and ShouldQueue with Horizon for retry and per-channel concurrency. Budget days, not weeks. Do not sequence this as "add the dependency, then adapt" — that ordering inverts the risk. The right sequence is a 1–2 day spike to produce a gap list, a decision gate, then a short prototype with tests pinning behavior. The learning investment should go into our own Laravel notification and queue internals, where the knowledge compounds across every future feature, rather than into Symfony2 code we intend to discard.
How can I help you explore Laravel packages today?