yceruto/rich-form-bundle
Rich Form Bundle for Symfony adds richer form field types, widgets, and rendering helpers to standard Symfony forms, making complex inputs easier to build and customize. It integrates with the Form component and Twig to extend default types with enhanced UI options.
This is a Symfony bundle consumed inside a Laravel application, so the integration path is slightly different from a purely-Laravel package.
>= 7.2.5 and Symfony 5.1+. In practice this means:
^5.1.^5.1) is the safe baseline.php -v # must be >= 7.2.5 (prefer 7.3+/7.4+)
composer show symfony/* # verify installed Symfony components are >= 5.1
composer require <vendor>/<package>:^2.0
If Composer throws a conflict against old symfony/* packages, upgrade the framework first (or the affected Symfony components) — do not try to force the constraint.DependencyInjection/ and Resources/config/ directory to understand which services get registered, and any *Extension.php class (Laravel's container does not auto-load Symfony bundles — you register services manually or through a thin bridge provider).App\Providers\*ServiceProvider and expose only the public entry points you need. This keeps Symfony's DI idioms out of your Laravel controllers.$this->app->singleton(...) / bind(...) calls so you retain control and can swap implementations for testing.Configuration.php trees (TreeBuilder) map cleanly to config/*.php files. Mirror the bundle's config keys 1:1 to reduce cognitive overhead; load them in register() via mergeConfigFrom.Illuminate\Console\Command and delegating to the underlying service — do not register Symfony commands directly with Laravel's Artisan, as the InputInterface/OutputInterface handling differs.setUp(), exercise both the raw bundle service (unit) and the Laravel-resolved binding (integration). The removed BC layers in 2.0 frequently hide inside default constructor arguments — assert on real instantiation, not mocks.composer update in CI without a lockfile bump will reveal this at runtime, not at install time — always commit composer.lock.composer.json pins symfony/http-foundation:^4.4, resolution fails. Align Symfony component constraints across the whole application (Laravel 8 is the tidy way to do this).$this->app->make(YourService::class)) in your test suite.Resources/config/services.yaml and Symfony Flex recipes are not executed by Laravel. Everything must be registered through the bridge provider — treat the bundle's YAML as documentation of intent, not executable config.composer why-not <vendor>/<package> 2.0
is the fastest way to expose phantom pins against symfony/* or PHP. Then check the package's UPGRADE-2.0.md (or CHANGELOG) for renamed classes and removed methods — the BC removal means IDE "go to definition" often lands on the 2.x shape, which differs from any blog posts or tutorials you'll find.final; in that case, decorate via the interface instead of inheritance.How can I help you explore Laravel packages today?