- Is stfalcon/page-bundle compatible with Laravel?
- No. stfalcon/page-bundle is a Symfony2 bundle wired through AppKernel, the Symfony DI container, Doctrine ORM entities, Twig templates, and SonataAdmin CRUD classes, and it ships no Laravel service provider, facade, config publish, or Eloquent model. There is no runtime integration path into a Laravel application. The only legitimate use in a Laravel roadmap is as a design reference for the page schema and admin editing flow, which you would reimplement natively.
- How do I install stfalcon/page-bundle in a Symfony project?
- Install it with composer require stfalcon/page-bundle, then enable the bundle in AppKernel and update the Doctrine schema so the Page table is created. You then register the SonataAdmin service for page management and import the bundle routing so the slug-based page route is exposed. Validate your pinned PHP, Symfony, Doctrine, and SonataAdmin constraints before attempting the install, because the bundle targets legacy Symfony 2.x/3.x stacks.
- Which Symfony and PHP versions does stfalcon/page-bundle support?
- The bundle comes from the Symfony 2.x era, which reached end of life in 2018, and its Composer constraints almost certainly pin PHP 5.x through 7.x along with SonataAdmin 2.x or 3.x. It is not built for Symfony 5+, modern PHP versions, or current Doctrine releases. That means no security patching path exists for the platform it runs on, which is the dominant risk if you inherit it.
- How does slug-based page routing work in stfalcon/page-bundle?
- The bundle exposes a route that accepts a slug segment and resolves it against the Doctrine-backed Page entity, so pages such as About, Terms, and Privacy are served without writing custom controllers or CRUD code. When a matching published page is found, its content is rendered through Twig; otherwise the request falls through to a not-found response. This is the same catch-all slug pattern you would reproduce in Laravel with an Eloquent model and a single wildcard route.
- What SEO metadata fields does the Page entity store?
- The Page entity stores the page slug, title, and body content alongside SEO meta title, meta description, and meta keywords. These values are rendered into the page head through Twig templates, giving editors control over search snippets without developer involvement. If your requirements exceed this schema, for example locale variants, versioning, approvals, or scheduled publishing, you would be forking rather than configuring, which argues for a native build.
- How do I build editable static pages in Laravel instead?
- Create a pages table with id, slug, locale, title, body, meta_title, meta_description, status, published_at, and timestamps, then add an Eloquent model and a catch-all slug route that resolves published pages and returns 404 on misses. Add a Filament or Nova resource so non-developers can edit pages and manage publish state. This is realistically a few hundred lines of code and one to two developer-weeks including tests, which is cheaper than maintaining a compatibility shim for a legacy Symfony bundle.
- Do I need SonataAdmin to use stfalcon/page-bundle?
- The bundle's value proposition is tied to SonataAdmin: its admin CRUD classes are how pages get created and edited, and that coupling is not cleanly separable from the rest of the package. If your real need is an admin editing experience rather than this specific bundle, maintained alternatives exist on both sides, such as Filament or Nova for Laravel and EasyAdmin for Symfony. Treat SonataAdmin as a hard dependency of this bundle and as incidental to the underlying feature.
- Is stfalcon/page-bundle actively maintained and safe for production?
- No. Community signal is essentially zero, with around five GitHub stars and no dependents, no issue triage, and no forks of note, so assume you own the code from day one. The underlying Symfony 2.x platform is end of life and receives no security patches, and the real attack surface is the old SonataAdmin, Symfony, and Doctrine code in an authenticated admin panel rather than the bundle's own small codebase. If you must run it, treat it as legacy maintenance with a documented sunset and migration plan.
- Can I use stfalcon/page-bundle for a headless or API-only backend?
- Not without modification. The bundle's rendering path assumes Twig templates and its management path assumes SonataAdmin, so neither the delivery nor the editing layer is decoupled for a JSON API or headless front end. Porting it to Symfony 5+ or an API-only architecture costs more than rewriting the feature, especially since the schema itself is small. For headless content needs, build the page model natively or choose a maintained headless CMS.
- What are the alternatives to stfalcon/page-bundle?
- For Laravel, the pragmatic alternative is a native pages table with an Eloquent model, a catch-all slug route, and a Filament or Nova admin resource, which keeps you on a supported platform. For legacy Symfony shops, a Symfony 2.x/3.x install with SonataAdmin or EasyAdmin is the closest match, though it inherits the same end-of-life risk. Maintained CMS options such as Statamic exist for Laravel if you need more than static pages, but for an About, Terms, and Privacy use case a small native build is usually the lowest-cost choice.