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

Illuminate Contao Laravel Package

mpociot/illuminate-contao

Bridges Laravel's Illuminate components with Contao CMS, making database, container, events, and related APIs available inside Contao. Use familiar Laravel-style patterns and Eloquent workflows without leaving your Contao project.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Modernize-in-place vs. migrate off Contao. This package is an on-ramp, not a destination. It buys Laravel-grade ergonomics — DI container, query builder, events, Eloquent on tl_ tables — while Contao keeps owning content, routing, and extensions. That is the cheapest way to purchase 12–24 months of optionality before answering the bigger roadmap question about the platform's future.
  • Build vs. buy on plumbing, not features. The capability surface is deliberately thin: container wiring, database access configured from Contao's own settings, and event bridging. The buy case rests on convention and familiarity, not functionality — so at a 0.x version with zero dependents and no release notes, "buy a convention" is the honest framing, not "buy a capability." A spike that shows the bridge is under roughly 300 lines of glue is a legitimate signal to build in-house and own it.
  • Portfolio standardization across a Contao estate. If several properties were built by different agencies or eras, a shared Illuminate-style layer gives one vocabulary for data access and test seams — one integration pattern across N sites instead of N bespoke ones. This is a portfolio-level decision, not a per-project one, and should be made deliberately.
  • Funding the quality roadmap on legacy CMS work. "More testable code" unlocks budget where the usual objection is that the platform resists testing. A constructor-injected service resolved from a container, tested against in-memory SQLite, is the concrete artifact that makes that argument credible in a roadmap review.
  • Hiring and staffing. Laravel fluency is a far deeper labor pool than Contao extension expertise. Adopting Laravel-shaped APIs widens who can contribute — a staffing decision wearing a technical costume.
  • Risk-register entries and exit planning. Pre-1.0, effectively single-maintainer, unproven in the wild, evaluation score 0.3. The most reliable decision it supports today is: what is our fork / pin / reimplement trigger if it stops being maintained — chosen in advance, not during an incident.

Diligence flag to carry into any decision: the available technical write-up reads as a generic Laravel-package review and does not engage with Contao specifics — version support, extension compatibility, bootstrapping inside the CMS lifecycle. Combined with no changelog, that is itself a signal: the project has not yet articulated what it is and is not. Score documentation quality; don't footnote it.

When to Consider This Package

Consider it when:

  • You are staying on Contao for business reasons — editorial workflows, installed extensions, licensing, an agency contract — but the engineering team's center of gravity is Laravel.
  • The pain is specifically testability, dependency injection, and data access, not missing product features. This package solves ergonomics; it adds no capabilities.
  • You have a Laravel-fluent engineer who can read the source in an afternoon and own it long term. Ramp-up is cheap; ownership attention is not.
  • The work sits on a non-critical surface — a marketing site, an internal tool, a single property — where a pinned, occasionally-upgraded dependency is tolerable.
  • You accept community-only support with no SLA, having consciously chosen between pinning indefinitely and forking.

Look elsewhere when:

  • The project is greenfield. Choose Laravel or Contao natively; do not invent a hybrid with no legacy to protect.
  • The capability is load-bearing — revenue-critical checkout, regulated data, any uptime commitment. No SLA plus 0.x is a disqualifier.
  • You run multiple Laravel majors across services, or plan a framework upgrade inside the dependency's lifetime. A bridge pinned to one major becomes a blocker at the worst possible moment.
  • The bridge is trivial to reimplement in your context. Internal ownership wins on every axis except time-to-first-commit.
  • Contao version compatibility is unverified. This gate kills the most adoption attempts and must be checked first, not last.

Adoption gates, in order: confirm declared Contao and PHP constraints against the actual install; run a 1–3 day spike in a scratch environment; pin to an exact version rather than a caret range; name an owner; verify the licence against policy; define the fork-or-reimplement exit trigger before an incident, not after.

How to Pitch It (Stakeholders)

To executives — one paragraph: We have a legacy CMS estate whose engineering ergonomics are holding back quality and slowing hiring. This package is a thin, low-cost adapter that lets our Contao sites use Laravel-standard patterns without a platform migration. It preserves the editorial investment we have already made and defers a migration decision that would otherwise cost an order of magnitude more. The caveat is maturity — pre-1.0, effectively single-maintainer, near-zero adoption — so I am recommending a timeboxed evaluation on one low-traffic property, not a portfolio standard. Cost to reach a decision: about three engineer-days. Cost of skipping the evaluation: unknown, which is the point.

To engineering — the substance: It puts the Illuminate container, query builder, and event dispatcher inside Contao while leaving Contao's native structure and extensions untouched. You get contract-based APIs and real test seams instead of framework-adjacent procedural code. The trade is explicit: exact-version pinning, a hand-reviewed bump per release, a named owner, and no expectation of upstream support. If the spike shows the bridge is under ~300 lines of glue, we build it in-house and own it — that is a legitimate outcome, not a failure.

The ask: Approve a 1–3 day spike on one non-critical property, behind a feature flag, ending in a written decision: adopt-and-own, fork, or reimplement. Do not standardize across the portfolio on this release. Revisit when a second release ships with notes and a stated upgrade path.

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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core