agence-adeliom/easy-fields-bundle
Symfony bundle adding extra EasyAdmin fields: enhanced AssociationField (create/select inline), EnumField, FormTypeField for binding raw form types, and TranslationField integration (A2lix). Supports Symfony 6.4/7.x on PHP 8.2+.
AssociationField) with custom functionality (e.g., inline creation of associated objects). This aligns well with Symfony’s decorator/extension pattern, reducing boilerplate for common CRUD operations.symfony/http-foundation for request handling).livewire/form, spatie/laravel-form-builder).backpack/l5-admin, orchid/software), the bundle’s field extensions could be reverse-engineered into reusable traits/classes.FormBuilder. Laravel’s Illuminate\Support\Facades\Form is similar but not identical; a wrapper layer would be needed.Illuminate\Events) could replace this with minimal effort.| Risk Area | Assessment | Mitigation Strategy |
|---|---|---|
| Symfony Dependency | Heavy reliance on Symfony components (Forms, EventDispatcher, etc.). | Abstract dependencies via interfaces or use Laravel’s equivalents (e.g., Form facade). |
| State Management | EasyAdmin manages CRUD state (create/edit). Laravel’s resource controllers handle this differently. | Use Laravel’s FormRequest or Update/Store logic to mirror EasyAdmin’s state. |
| Twig Integration | Twig is not native to Laravel. | Convert templates to Blade or use Inertia.js for frontend rendering. |
| Version Lock | Tied to Symfony 6.4+/7.x; Laravel may not need this overhead. | Evaluate if the core field logic (not Symfony-specific parts) is reusable. |
| Testing Overhead | Bundle assumes Symfony’s testing tools (PHPUnit, Symfony’s test clients). | Adapt tests to Laravel’s HttpTests or Pest. |
spatie/laravel-medialibrary for associations) that solve the same problem?| Step | Action | Tools/Dependencies Needed |
|---|---|---|
| 1. Assessment | Audit existing Laravel admin panel (Nova/Backpack/Orchid) to identify gaps this bundle fills. | Code review, feature matrix. |
| 2. Dependency Isolation | Extract field logic from the bundle into a Laravel-compatible trait/class. | PHPStan, PHPUnit. |
| 3. Symfony Abstraction | Replace Symfony FormBuilder with Laravel’s Form facade or livewire/form. |
Laravel Form Components, Livewire. |
| 4. Template Conversion | Convert Twig templates to Blade or Inertia.js components. | Blade, Vue/React. |
| 5. Event System Replacement | Replace EasyAdmin events with Laravel’s Events facade or custom observers. |
Laravel Events, Service Container. |
| 6. Testing Adaptation | Rewrite tests to use Laravel’s HttpTests or Pest. |
PestPHP, Laravel Dusk. |
| 7. Integration Testing | Test in a staging environment with a minimal feature set (e.g., one association field). | Docker, Laravel Sail. |
EventDispatcher) may not map cleanly.AssociationField) to Laravel.3.x branch is maintained (as of 2023).with() in Eloquent.Illuminate\Support\Facades\Cache).How can I help you explore Laravel packages today?