- Is ibrows/sonata-admin-annotation-bundle a Laravel package?
- No. It is a Symfony bundle for SonataAdminBundle that moves FormMapper, DatagridMapper, ListMapper and ShowMapper configuration into Doctrine annotations on admin classes. Laravel has no bundle system, no Sonata Admin, and no mapper configuration surface, so the package cannot be registered through a Laravel ServiceProvider. For Laravel admin panels, evaluate Filament, Nova or Backpack instead.
- Can I install ibrows/sonata-admin-annotation-bundle in a Laravel application?
- Composer install may succeed, but the bundle does nothing outside a Symfony kernel with Sonata Admin registered. There is no Laravel-facing adapter, and building one would be wasted effort because the package's value is its annotation-to-Sonata-mapper translation. For a Laravel-first stack, do not integrate it.
- What does ibrows/sonata-admin-annotation-bundle actually do?
- It lets you declare Sonata Admin fields, filters, list and show settings, and routes directly above each admin class using PHP annotations. The bundle translates those annotations into Sonata's FormMapper, DatagridMapper, ListMapper and ShowMapper configuration. This replaces verbose YAML or service definitions with self-documenting admin code, but only in Symfony projects that already use Sonata Admin.
- Which Symfony, Sonata Admin, PHP and doctrine/annotations versions are supported?
- The bundle is from the Symfony 3.x or 4.x era and depends on sonata-project/admin-bundle plus doctrine/annotations. You must verify Composer constraints against your current Sonata Admin, Symfony and PHP versions because conflicts are likely. Also check whether PHP 8.1+ deprecations affect annotation reading before adopting it.
- Does ibrows/sonata-admin-annotation-bundle support PHP 8 attributes instead of Doctrine annotations?
- There is no indication that it reads PHP 8 attributes; its model is Doctrine annotation parsing. The wider PHP ecosystem is moving from annotations to attributes, so any annotation adoption should be treated as a short-lived intermediate step. Plan a rewrite toward PHP 8 attributes or Sonata's native fluent configuration.
- How do I configure Sonata Admin fields, filters and routes with annotations?
- Declare the relevant annotation classes above each admin class to describe form fields, datagrid filters, list and show columns, and routes. The bundle then translates that metadata into Sonata's mapper configuration, reducing YAML and service boilerplate. During migration, keep the existing configureFormFields and configureDatagridFields methods as a fallback and move classes one at a time.
- What happens if a Sonata Admin annotation is malformed or unsupported?
- There is a real risk of silent misconfiguration: if an annotation is malformed or unsupported, the admin can fall back to default mappers and produce subtly wrong forms or lists in production. Do not assume malformed annotations always fail loudly. Smoke-test each admin page and compare generated mapper output before and after the change.
- Is ibrows/sonata-admin-annotation-bundle safe and maintained for production?
- The package shows zero stars, zero dependents and a very low score, with no community validation or security advisory history. It likely has a single-maintainer bus factor and high version drift risk against modern Sonata Admin and Symfony releases. If you adopt it, plan to fork and own maintenance rather than rely on upstream support.
- What are the best alternatives to this bundle for Laravel admin panels?
- For Laravel, use Filament, Laravel Nova or Backpack rather than bridging into Symfony's Sonata ecosystem. For a Symfony application that already runs Sonata Admin, prefer Sonata's native fluent configuration or a move to PHP 8 attributes. The correct Laravel decision is usually a rejection note explaining the ecosystem mismatch.
- How do I migrate from YAML or service definitions to Sonata Admin annotations?
- Migrate configureFormFields, configureDatagridFields and related mapper methods class by class into annotations, keeping the fluent methods as a fallback during the transition. Verify that the bundle's service definitions and compiler passes register cleanly under your target Symfony version, because a failing compiler pass blocks container build. Treat the annotation phase as temporary and target PHP 8 attributes or native Sonata configuration long term.