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

Cms Core Laravel Package

typo3/cms-core

The core package of TYPO3, a free enterprise-grade open source CMS. It provides the framework, APIs, backend and frontend rendering, extension system, and shared libraries needed to build and run TYPO3 websites and custom extensions.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This is not a library — it is the entire application framework of the TYPO3 CMS, published as a read-only subtree split so that TYPO3's own packages can be installed via Composer. A TPM should evaluate it as a platform adoption decision, not a dependency decision. It ships its own bootstrap (SystemEnvironmentBuilder → Bootstrap::init() → Core\Http\Application), a compiled Symfony DI container with a separate "failsafe" container for the installer, a PSR-15 middleware stack per request type, PSR-14 events wired through #[AsEventListener], its own package manager, routing, and Doctrine DBAL persistence layer. It overlaps almost completely with Laravel's own kernel, container, and service providers. You cannot meaningfully boot both in one request lifecycle.

Integration feasibility. Realistic integration models, in descending order of viability:

  • TYPO3 as the system, Laravel extensions irrelevant — the standard enterprise CMS adoption. Feasible, well-trodden, supported.
  • TYPO3 as a headless content backend, Laravel as the delivery/API layer — feasible and increasingly common. Integration happens over HTTP (JSON:API, GraphQL via community extensions), not over Composer. Two deployables, two pipelines, one shared auth story via OIDC/SSO.
  • Side-by-side monoliths on separate hosts/subdomains — feasible but operationally expensive; only justified when an existing TYPO3 content estate must be preserved next to a new product surface.
  • typo3/cms-core required inside a Laravel composer.json — not feasible. The package is explicitly a subtree split, is not intended to be required directly, and pulling it without the metapackages produces version conflicts and missing transitive dependencies.

Technical risk.

  • Licensing (highest-severity). GPL-2.0. Internal/SaaS use is generally unproblematic, but any model that distributes the software to customers (on-prem appliances, white-label distributions, SDK-style shipping) triggers copyleft obligations that must be reviewed by legal before scoping, not after.
  • Upgrade treadmill. Major versions arrive on a roughly 18-month cadence with breaking changes, a class-alias compatibility loader for legacy namespaces, and deprecation removals. Every custom extension is a migration item.
  • Strict runtime floor. PHP 8.2+ with strong typing. If a Laravel app targets a different PHP minor for any dependency, you now have two upgrade calendars to reconcile.
  • Signal noise. 1,218 stars and 0 dependents are meaningless here: the social proof lives on the monorepo, and the dependents graph is empty because nobody depends on a subtree split directly. Do not let the low composite score (21.09) drive the decision — read it as "this is a poor fit for a library-shaped catalog," which is a different and correct conclusion.

Key questions for the decision owner.

  1. Is the CMS the product, or a supporting capability? If supporting, is TYPO3 the cheapest credible option versus a Laravel-native CMS?
  2. Who operates the upgrade and security-release calendar for the next three years — internal team, agency retainer, or vendor support contract?
  3. What is the distribution model? Anything beyond SaaS narrows the GPL analysis considerably.
  4. Does the content model require multi-site, granular permissions, editorial workflows, and translation — the features that actually justify TYPO3's weight?
  5. Is there existing TYPO3 expertise, or is this a hire/train line item?

Integration Approach

Stack fit. Poor as a Composer dependency; strong as a peer system. The only namespace collision risk with Laravel is nil (TYPO3\CMS\* vs Illuminate\*), but the architectural collision is total. Treat the boundary as a network contract, not an autoload contract.

Migration path.

  • Greenfield, Laravel-first: the honest recommendation is usually to keep the CMS inside the Laravel ecosystem (Statamic, Filament-based admin, or a hosted headless CMS) unless the content requirements are genuinely enterprise-grade. TYPO3 earns its place on multi-site, multi-language, workspace/approval workflows, and fine-grained permissions — not on "we need pages."
  • Existing TYPO3 estate, new product surface: run the headless pattern. Freeze the TYPO3 instance to content authoring + publishing, expose a versioned content API, and build the new surface in Laravel against that contract.
  • Existing Laravel app, CMS requirement appears: scope a time-boxed spike on headless TYPO3 only if the editorial requirements list is long. Otherwise avoid the second framework.

Compatibility. PHP 8.2+ with declare(strict_types=1) expected in extensions; PSR-11/PSR-14/PSR-15 throughout; Doctrine DBAL rather than Eloquent. Do not share a database between the two systems — read the content API, or if latency forces it, replicate into a Laravel-owned read model that you control.

Sequencing.

  1. Publish a capability matrix (content model, workflows, localization, multi-tenancy, permissions) and score TYPO3 against two Laravel-native alternatives. Make the build-vs-buy call explicit and documented.
  2. Legal review of GPL-2.0 against the distribution model.
  3. If proceeding: stand up the base distribution (composer create-project typo3/cms-base-distribution) and pin a major version. Never require typo3/cms-core directly.
  4. Define the content API contract and versioning scheme before frontend work starts.
  5. Build the Laravel delivery layer as an independent deployable consuming that contract.
  6. Unify identity (OIDC/SSO) and observability across both runtimes early; retrofitting is painful.
  7. Split CI/CD: TYPO3's build uses its own container-based runTests.sh dispatcher; do not try to unify the two toolchains.
  8. Schedule an upgrade rehearsal in the first quarter of ownership, before extensions accumulate.

Operational Impact

Maintenance. Expect a continuous, non-optional maintenance load: security releases, deprecation cleanup, and major-version upgrades with breaking changes. Because this is a read-only subtree split, you must never patch core locally — changes go through extensions, TCA overrides, Configuration/RequestMiddlewares.php, and event listeners, or upstream via the Gerrit review process. Budget a named owner; unowned TYPO3 instances become upgrade-debt bombshells faster than unowned Laravel apps.

Support. Commercial support and a substantial agency ecosystem exist, which is a genuine advantage over bespoke Laravel CMS builds for risk-averse organizations. The trade-off: the support market is not the Laravel market — your existing PHP/Laravel vendor relationships likely don't cover it, and you may be procuring a second supplier.

Scaling. Strong on the axis TYPO3 was built for: page caching, reverse proxies, multi-site and multi-language from one instance, large editorial teams, and enterprise-grade access control. Weak on the axis you inherit: two runtimes means two scaling profiles, two capacity plans, two incident surfaces, and a content API that becomes a hard dependency of the frontend's latency budget.

Failure modes to design against.

  • Extension incompatibility discovered mid-upgrade, blocking a security patch.
  • PHP version drift where Laravel (or a Laravel dependency) requires a version TYPO3 hasn't certified, or vice versa.
  • Class-alias-map breakage after a major upgrade silently shifting behavior in custom extensions.
  • Failsafe-container divergence: code used in install-tool templates needs manual wiring and can fail in ways unit tests don't catch.
  • Shared database coupling, which turns a content-model change into a coordinated two-team release.
  • Accidental GPL exposure through packaging or customer distribution.
  • Key-person risk: one engineer who "knows TYPO3" becomes a single point of failure.

Ramp-up. Plan for 2–4 months before a competent PHP developer is independently productive, versus days-to-weeks for Laravel. The steeper curve is not syntax but the mental model: package/bootstrap lifecycle, compiled containers, the middleware ordering system, TCA, and the legacy-hook-to-event migration story. TPM actions: fund formal TYPO3 training or certification for at least two engineers, staff for overlap not coverage, and put the upgrade calendar on the same governance track as security patching so it is funded rather than discovered.

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.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc