- Can I use excelwebzone/symfony-admin-bundle in a Laravel application?
- No, not directly. It is a Symfony bundle built on Symfony's HttpKernel bundle contract, a DI extension, and compile-time container configuration, so it will not load in Laravel's Illuminate container. There is no Laravel service provider or adapter layer, which means you would have to write and maintain that bridge yourself. If your app is Laravel, treat this as a third-party Symfony admin surface evaluated for isolation rather than a package you integrate.
- How do I install and register SymfonyAdminBundle?
- Run composer require excelwebzone/symfony-admin-bundle, then create config/packages/symfony_admin.yaml with upload_url and your four service bindings. Register the bundle in bundles.php if Flex does not do it for you, and import the controller routes from config/routes.yaml using resource '@SymfonyAdminBundle/Controller' with type annotation. Until the routes and service bindings are in place, the admin UI will not render.
- Which services does symfony_admin.yaml require me to define?
- Four: user_repository, cron_schedule_repository, report_repository, and file_uploader, each pointed at a service ID you own. The README example wires them with @doctrine, @security.token_storage, @kernel, @validator, @translator and the mime_types parameters. The bundle ships no default implementations, so nothing works until you supply these classes.
- Are the repository contracts documented anywhere?
- No. The README shows service IDs and example constructor arguments but not method signatures, return types, pagination or filtering expectations, or exception behavior. You have to recover the contracts from the bundle source and treat them as an implicit interface you are contracting against. That is the single biggest unknown when evaluating the package.
- Which Symfony versions does this bundle support?
- The provided metadata does not state a supported Symfony range, and the last release timestamp (2026-08-30) looks like a crawl artifact, so verify against the actual tag list and composer.json constraints. Check the requirements block before installing into an existing project, especially on a recent Symfony major. A Symfony major upgrade would be a breaking event you absorb alone, since there is no visible upstream community to trail.
- Does SymfonyAdminBundle handle file uploads safely?
- The bundle delegates uploads to your file_uploader service, which receives @kernel, @validator, @translator and the configured mime_types extensions and types. MIME allowlist enforcement, path traversal handling, and storage isolation are therefore your responsibility inside that class, not something you can assume is done for you. Given that an admin backend plus file upload is high-consequence code, review that path closely and add your own validation.
- How does authorization work and will it bypass my policy layer?
- The example repository services are constructed with @security.token_storage, which strongly suggests the bundle reads the current Symfony security token to scope queries or decide access. That means authorization effectively runs through Symfony's security component rather than a separate policy layer, and any custom permission logic has to be reconciled with it. Confirm the exact checks in source before trusting it in production.
- Is this package actively maintained and tested?
- There is no stated test suite, CI, or coverage in the metadata, and the repository has roughly three stars and no dependents, so there is little external scrutiny. It is effectively single-vendor (excelwebzone) with no visible contributor base or governance. Treat releases plus a README as the entire maturity signal and plan to own patches yourself.
- What are the alternatives to SymfonyAdminBundle?
- On Symfony, EasyAdmin and SonataAdmin are the maintained, widely used choices for an admin backend. If you are actually on Laravel, Filament, Nova, or Backpack give you an admin panel that integrates with Eloquent and Laravel's container. Any of these is a lower-risk default unless you specifically need this bundle's cron schedule and report screens.
- Can I use the example repositories without Doctrine?
- Not as shipped. The example repository bindings take @doctrine and expect Doctrine-managed entities, and the file uploader expects Symfony's kernel, validator, and translator. Porting these to another ORM or to Laravel means writing implementations that satisfy Symfony-shaped contracts while using your own persistence layer. Budget for that adapter work explicitly, because it is not a drop-in.