presta/cms-core-bundle
PrestaCMS CoreBundle is the foundation of the PrestaCMS platform, a Symfony-based CMS for building and managing websites. It provides core page and content management, block rendering, and a flexible architecture for extending and customizing your CMS.
Architecture fit: fundamentally mismatched. Despite being framed as a "Laravel/PHP package," PrestaCMSCoreBundle is a Symfony2 bundle, not a framework-agnostic Composer library. A Symfony bundle is an extension of the Symfony full-stack framework: it registers services into a Symfony DI container, ships a DependencyInjection/Extension with a Configuration tree, declares routes via Symfony routing resources, and hooks into kernel.* events. It also depends on the Symfony CMF family (symfony-cmf/routing, symfony-cmf/block-bundle, symfony-cmf/core-bundle). None of that has a Laravel analogue that can be wired up without effectively running Symfony's kernel inside Laravel — which is not an integration, it's a rewrite.
Integration feasibility: effectively zero for a Laravel target. Laravel service providers are not bundles; there is no bundle-discovery mechanism on the Laravel side, and the CMF's dynamic routing (a chain router that resolves CMS pages from the database) is coupled to Symfony's RouterInterface and RequestContext. Even a bridge package would require re-implementing block rendering, page resolution, and the admin UI.
Technical risk: high, and terminal. The package is archived, last released 2015-04-22, has zero dependents on Packagist, 26 stars, and a composite score of 0.31. That profile means: no upstream security patching, PHP 5.x-era code against a PHP 8.x runtime, and a dependency tree (Symfony 2.x, early Twig, Doctrine ODM/ORM of that era) that is itself EOL. Any adoption means owning a fork of a dead CMS plus its dead CMF dependencies.
Key questions before proceeding:
Stack fit: none. For a Laravel codebase there is no viable path. The honest recommendation is a hard "do not integrate" and redirect to maintained alternatives: Statamic, Filament with a page builder, or a headless CMS (Contentful, Sanity, Payload) consumed over HTTP. If the environment is genuinely Symfony, note that PrestaCMS is built for Symfony 2.3–2.8, so it will not install on Symfony 4+, let alone 6/7.
Migration path. There is no greenfield migration path into this package. The only realistic path is away from it: inventory any existing PrestaCMS installation (pages, blocks, media, routes), export content from the underlying Doctrine store, and re-platform onto a supported CMS. That is a data-migration project, not a dependency swap.
Compatibility. Expect Composer resolution failures as the first blocker — the constraints pin Symfony 2.x, and any modern PHP/Symfony version in the root project will conflict. Running it requires a frozen PHP 5.6/7.0 container. That container is itself a security and operational liability.
Sequencing (if leadership insists on evaluating it). Time-box a one-day spike only: stand up a PHP 5.6 container, attempt composer require presta/cms-core-bundle, and record the failure surface. Do not sequence this into a delivery roadmap, do not allocate a sprint, and do not let it become a fallback option. Present the spike output alongside a costed alternative so the decision is made on evidence rather than preference.
Maintenance. This is the dominant cost. Archived means every future PHP upgrade, CVE, and dependency drift becomes your team's problem. You inherit a fork of the CMS and forks of the CMF bundles it depends on. Budget for a standing maintenance line item, not a one-off integration effort.
Support. None. No upstream maintainer, no issue triage, no security advisories, no Stack Overflow gravity for a 26-star project. Institutional knowledge will live entirely with whichever engineer learns the codebase, and that is a bus-factor of one.
Scaling. Unproven at modern scale. Symfony CMF's block rendering and dynamic route resolution add per-request overhead versus a static or cached-page approach; there is no recent benchmark data, and none will be produced. Treat any performance claim as unvalidated and require a load test before committing to traffic expectations.
Failure modes. The predictable ones: Composer resolution failure at install; fatal errors on PHP 8 (removed functions, typed-property assumptions, deprecated конструкторы); Twig API breakage; unpatched CVEs in the Symfony 2.x and Doctrine components; and silent content-schema drift because there is no migration tooling being maintained. The worst failure mode is not an outage — it's a security incident on an unpatched public-facing CMS.
Ramp-up. Steep and unrewarding. Documentation has decayed for a decade, the Symfony 2 conventions it assumes are unfamiliar to engineers working in current Symfony or Laravel, and the CMF's block/route abstractions are idiosyncratic. New hires cannot be sourced with this skill set; everyone must be trained internally on code they will never use again.
Bottom line for the roadmap: recommend reject. Zero dependents, an archived status, a 2015 release date, and a framework mismatch with the stated stack are four independent disqualifiers. The productive move is to clarify the underlying CMS requirement and evaluate maintained options against it.
How can I help you explore Laravel packages today?