Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Form Extensions

Form Extensions Laravel Package

sonata-project/form-extensions

Additional form types, data transformers, and utilities for Symfony Form via Sonata. Includes date/time and choice helpers, improved widgets, and integration-friendly extensions to speed up building consistent, reusable form components across projects.

View on GitHub
Deep Wiki
Context7

Symfony form extensions

Frequently asked questions about Form Extensions
Can I use sonata-project/form-extensions directly in Laravel without Symfony?
No, this package is built for Symfony and requires its Form component. Laravel projects must integrate Symfony’s form system via a bridge (e.g., symfony/form) or use a facade/wrapper. Direct use risks breaking Laravel’s request pipeline or CSRF handling. For native Laravel solutions, consider alternatives like spatie/laravel-form-builder.
What Laravel versions support sonata-project/form-extensions?
No direct Laravel support exists, but Symfony 8 compatibility (via symfony/form) may work with Laravel 10+ on PHP 8.2+. Older Laravel versions (e.g., 9.x) face risks due to PHP 8.1 deprecation. Test thoroughly in a staging environment before adoption, as middleware and request handling may conflict.
How do I install this in Laravel?
Install via Composer: `composer require sonata-project/form-extensions`. Then integrate Symfony’s Form component (e.g., `symfony/form`) and configure a service provider to bridge Symfony’s FormFactory with Laravel’s request lifecycle. Blade templates will need custom directives or Twig integration for rendering.
Does this package support Blade templates?
No native Blade support exists. You’ll need to render Symfony forms in Blade using `{{ $form->createView()->renderBlock('widget') }}` or create custom Blade directives. For seamless integration, consider a Twig bridge (e.g., tightenco/ziggy) or escape output with `htmlspecialchars` to avoid XSS risks.
What are the performance implications of using Symfony forms in Laravel?
Symfony’s form component adds ~50MB+ to your vendor directory and introduces overhead for form lifecycle management. Benchmark your application, especially if handling high-traffic forms. For lightweight needs, Laravel’s FormRequest + Validator may suffice without Symfony’s complexity.
Are there breaking changes when upgrading to Symfony 8?
Yes, Symfony 8 may introduce breaking changes in FormType APIs or FormBuilder behavior. Review the [Symfony UPGRADE.md](https://github.com/symfony/symfony/blob/8.0/UPGRADE.md) and audit your custom form logic. Laravel projects must also ensure PHP 8.2+ compatibility, which may require codebase updates.
Can I use this for dynamic forms (e.g., AJAX-driven) in Laravel?
Yes, Symfony’s Form component excels at dynamic forms with AJAX. However, you’ll need to handle Symfony’s CSRF tokens (e.g., `{{ form_start(form) }}`) alongside Laravel’s `@csrf` directives. Use middleware to standardize token handling and test AJAX endpoints thoroughly for compatibility.
What alternatives exist for advanced forms in Laravel?
For Laravel-native solutions, consider `spatie/laravel-form-builder` (simpler) or `livewire/livewire` (reactive). If you need Symfony’s power, evaluate `symfony/form` directly or hybrid approaches like Inertia.js with Symfony backend logic. Avoid this package unless you’re committed to Symfony integration.
How do I handle validation errors with Sonata’s forms in Laravel?
Symfony’s form validation errors are accessible via `$form->getErrors()`. Bind errors to Laravel’s session or return them as JSON for AJAX. Ensure your Laravel controllers handle Symfony’s `FormInterface` errors without conflicting with Laravel’s validation system. Use middleware to normalize error formats if needed.
Is this package actively maintained for Laravel?
No, this is a Symfony package with no Laravel-specific maintenance. Updates focus on Symfony compatibility. Laravel users must handle integration, testing, and compatibility themselves. Check the [GitHub issues](https://github.com/sonata-project/form-extensions/issues) for Symfony 8-related fixes, but expect no Laravel-specific support.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
directorytree/privacy-filter-classifier
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi