sonata-project/propel-admin-bundle
Sonata Propel Admin Bundle integrates Sonata Admin with the Propel ORM in Symfony applications, enabling CRUD admin screens, list/filter/form views, and configuration for Propel-backed models.
Read this first: you cannot install this in a Laravel app. sonata-project/propel-admin-bundle is a Symfony bundle, not a Laravel package. It integrates three things that do not exist in a standard Laravel project:
The bundle is archived and deprecated. The last supported combination is roughly Symfony 2/3 + SonataAdmin + Propel 1.x. There is no Laravel service provider, no facade, no Eloquent bridge, no Blade views (Sonata admin uses Twig).
Minimal steps if you were on Symfony (for context only):
composer require sonata-project/propel-admin-bundleSonataPropelAdminBundle alongside SonataAdminBundle and PropelBundle in AppKernel.schema.xml.Sonata\PropelAdminBundle\Admin\Admin and tag it sonata.admin.For a Laravel developer, the "first use case" is really: recognize the pattern and use a Laravel-native equivalent. If you want a Sonata-style admin panel over Eloquent, look at Filament (closest conceptual match: resource classes, list/edit/show pages, filters, actions), Laravel Nova, or Backpack for Laravel. If you want the ORM-agnostic admin abstraction this bundle tried to provide, that abstraction belongs at the repository layer in a Laravel app — not as a third-party bundle.
Even though you won't run this bundle, the workflow it encodes maps cleanly onto patterns Laravel developers adopt every day:
BookAdmin), configure list, form, filter, and show fields, and register it as a tagged service. In Filament this is BookResource; in Nova it's Book extends Resource. The mental model is identical — one class describes how a model is browsed, edited, and filtered.configureListFields, configureFormFields, configureDatatableFilters (Propel-aware). Translate this directly into Filament's form(Form $form) / table(Table $table) or Nova's fields().schema.xml — you don't hand-write models. This is the reverse of Laravel's migration-first workflow. If you're porting concepts, remember that in Laravel your migrations are the schema source of truth and the admin layer reads from that, not the other way around.Action/BulkAction classes or Nova Action classes. This bundle's action registration is the direct ancestor of those APIs.Resource and register policies via Laravel's Gate/Policy. Do not try to bolt Propel onto Laravel just to use this bundle — the impedance is total (Propel objects vs. Eloquent models, Propel Peer classes vs. Eloquent query builders, schema.xml vs. migrations).sonata.admin tag with manager_type, label, model_class attributes has no Laravel analog. Closest equivalents: Laravel's service container binding + Filament's automatic resource discovery, or Nova's Nova::resources() registration.sonata_admin config dump. In Laravel, the analog is Telescope plus Filament's debug toolbar and php artisan about for package state — useful to know if you're reading Sonata docs while designing a Laravel port.Resource::getPages(), custom tables, Filter classes). Copy the shape of the extension points, not the implementation.How can I help you explore Laravel packages today?