Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Fullcalendar Bundle Laravel Package

toiba/fullcalendar-bundle

Symfony bundle that integrates FullCalendar into your app, with controllers, Twig helpers, and event loaders so you can render interactive calendars and manage events with minimal configuration.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit This is not a Laravel package — it is a Symfony bundle (Toiba\FullCalendarBundle), and that distinction is the whole evaluation. Its value comes from Symfony-specific machinery: a bundle class registered in AppKernel, a Doctrine-coupled event listener that hydrates entities into Toiba\FullCalendarBundle\Entity\Event objects, and an auto-registered AJAX route that serializes those events into the JSON shape FullCalendar expects. In a Laravel application none of that machinery binds. You would be installing Symfony HttpKernel/DependencyInjection/EventDispatcher transitively to get a bundle that Laravel never boots. The only transferable asset is the pattern — an entity-to-event adapter plus a date-range-filtered JSON endpoint — and that pattern is roughly 150 lines of Eloquent and a controller in Laravel.

Integration feasibility Low as a dependency, moderate as a reference implementation. The realistic paths are: (a) Symfony 2.8/3.x application already using it → migrate to the maintained fork; (b) Symfony 4+ application → do not install; (c) Laravel application → do not install, and reimplement using FullCalendar's JS directly against a Laravel JSON endpoint. The package targets the FullCalendar 2.x/3.x event object shape (title, start, end, allDay, url) and a pre-PHP-7.2 era Symfony; on any modern runtime you are fighting autoloading, deprecated container APIs, and a JS library that has moved through four major versions since.

Technical risk High across every axis. The repository is explicitly marked [DEPRECATED] in its own description and redirects to tattali/CalendarBundle. Zero stars and zero dependents means no production signal, no issue traffic, and no one who has hit the failure modes you will hit. The scoring metadata (opportunity: 6.59) contradicts the objective evidence of abandonment and should be treated as noise rather than a buying signal — a numeric opportunity score cannot offset a maintainer-authored deprecation notice.

Key questions

  • Which FullCalendar JS major version does the bundled front-end integration target, and is the event payload compatible with FullCalendar 5/6?
  • Does the event listener apply a date-range filter to the underlying query, or does it load the full entity set on every AJAX call?
  • Is the generated route authenticated by default, or does it ship as an open endpoint requiring manual firewall configuration?
  • Does the maintained successor (tattali/CalendarBundle) preserve the public API surface, or is it a rewrite requiring migration work?
  • What is the actual PHP/Symfony constraint set in composer.json, and does anything in it resolve on a currently supported runtime?

Integration Approach

Stack fit For a Laravel codebase this package is a hard no. For a legacy Symfony codebase it is a transitional dependency at best. The correct target is tattali/CalendarBundle, which retains the same architectural idea (Doctrine entity → CalendarEvent → JSON event source) with active maintenance. If the business requirement is simply "show calendar events from our database," the front-end is FullCalendar's JS distribution and the back-end is a single authenticated JSON route — the bundle was always a thin convenience layer over exactly that.

Migration path Recommend a two-step path: first, replace toiba/fullcalendar-bundle with tattali/CalendarBundle in-place for Symfony consumers, verifying the Event entity shape and listener hooks still align; second, where the app is Laravel or where the bundle API has drifted, replace the bundle entirely with an in-house CalendarEventController returning [id, title, start, end, allDay, url] and an EventSource pointed at it. Budget the second step as small — the domain logic is a query and a serializer.

Compatibility Expect friction at three seams: the PHP/Symfony version floor, the FullCalendar JS major version (event object and eventSource semantics changed materially between v2/v3 and v5+), and Doctrine ORM annotations (which are removed in ORM 3.x in favor of attributes). Any one of these is sufficient to force a rewrite of the integration layer.

Sequencing

  1. Confirm no existing dependency edge on this bundle (zero dependents suggests none, but verify composer.lock in each app).
  2. Spike the successor fork against your runtime and FullCalendar version; timebox to a day.
  3. If the fork resolves, migrate and close the item.
  4. If it does not, build the endpoint natively — controller, range filter, DTO — and wire FullCalendar JS directly.
  5. Decommission the old bundle and remove the endpoint it auto-registered rather than leaving it dormant; an unauthenticated leftover route is a real exposure.

Operational Impact

Maintenance There is no maintenance. The upstream is deprecated by its own author, so there will be no security patches, no PHP 8.x compatibility work, and no response to a FullCalendar breaking change. Every future framework upgrade becomes an unbudgeted remediation for this one dependency.

Support Effectively none. No stars, no dependents, and a deprecation notice mean there is no community to triage an issue and no evidence anyone is running it in production. Your team is the sole maintainer of the fork the moment you install it.

Scaling The bundle's default behavior is the scaling hazard: a FullCalendar view requests events for a visible date window, and if the listener does not translate that into a WHERE start < :rangeEnd AND end > :rangeStart predicate, every navigation issues an unbounded table scan. Serializing full Doctrine entities also risks over-fetching related associations and leaking fields into the JSON response. Validate query plans and payload size under a realistic calendar density before committing.

Failure modes The realistic ones, in order of likelihood: fatal error on a PHP or Symfony upgrade; silent breakage when FullCalendar's JS moves and the JSON shape no longer parses (calendar renders empty with no server-side error); timeout or memory exhaustion on a large event table under date navigation; and an improperly firewalled auto-generated route exposing event data. Each fails quietly or at the wrong layer, which makes them expensive to diagnose.

Ramp-up Near-zero for a Symfony developer who already knows the era, but that knowledge is stale and the time is better spent on the native path. For a Laravel team, ramp-up cost is the cost of not using it — a controller and a query, well under a day, versus days of fighting a framework boundary that does not exist.

Recommendation: Do not adopt. Migrate existing Symfony consumers to tattali/CalendarBundle; for Laravel, implement the event-source endpoint natively and treat this package as documentation of a pattern, not as a dependency.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator