Weave 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
Symfony Collection

Symfony Collection Laravel Package

ninsuo/symfony-collection

A lightweight PHP collection library inspired by Symfony, offering fluent, chainable APIs for working with arrays and iterables. Includes helpers for mapping, filtering, sorting, grouping, reducing, and more—usable standalone or alongside Laravel and other frameworks.

View on GitHub
Deep Wiki
Context7

[NOT MAINTAINED] A jQuery plugin that manages adding, deleting and moving elements from a Symfony form collection

Frequently asked questions about Symfony Collection
Can I use ninsuo/symfony-collection for dynamic form fields in Laravel without Symfony components?
No, this package is tightly coupled with Symfony’s FormBuilder. You’ll need to install `symfony/form` and `symfony/validator` as dependencies, then bridge them with Laravel’s routing and validation systems. Consider alternatives like Livewire or Inertia.js if you want a native Laravel solution.
How do I replace the jQuery dependency in this package for Laravel 9+?
The package relies on jQuery, which is deprecated in modern Laravel. Replace it with Alpine.js for reactivity or HTMX for AJAX-driven interactions. Rewrite the frontend logic to use Alpine’s `x-data` or HTMX attributes (e.g., `hx-post`) for adding/deleting/moving elements in your Blade templates.
Is this package compatible with Laravel’s native FormRequest and FormBuilder?
No, this package uses Symfony’s FormBuilder, which doesn’t integrate directly with Laravel’s FormRequest or FormBuilder. You’ll need a custom service provider to bridge Symfony’s form logic with Laravel’s validation and routing. This adds complexity and may not align with Laravel’s conventions.
What Laravel versions support ninsuo/symfony-collection?
The package isn’t Laravel-specific, but it requires Symfony components (e.g., `symfony/form`). Test with Laravel 8+ (PHP 8.0+) and ensure compatibility with your Symfony version. Laravel 9+ may need additional adjustments due to jQuery deprecation and Symfony bridge requirements.
Are there alternatives to this package for managing dynamic collections in Laravel?
Yes. For Laravel-native solutions, consider Livewire (for reactive forms), Inertia.js (React/Vue forms), or packages like `spatie/laravel-form-builder`. If you need Symfony-like features, explore `laravel/symfony-form` or standalone Symfony components with a custom wrapper.
How do I integrate Symfony’s form rendering (e.g., `{{ form_row() }}`) into Laravel Blade?
Symfony’s form rendering uses `{{ form_row(form.field) }}` syntax, which won’t work natively in Blade. Create a custom Blade directive or wrapper class to translate Symfony’s form logic into Laravel’s Blade syntax. Example: `@symfonyFormRow($form->field)` with a helper to render the output.
Does this package work with Laravel’s Eloquent models for dynamic collections?
Yes, but you’ll need to configure your Eloquent models to handle dynamic additions/deletions (e.g., `hasMany` relationships with custom accessors). The package’s backend logic (Symfony FormBuilder) will manage the collection data, while the frontend (Alpine/HTMX) handles UI updates. Test with proper model events (e.g., `creating`, `deleting`).
What’s the maintenance effort for using this package in production?
High. The package is **not maintained**, and integrating Symfony components with Laravel requires ongoing effort to sync with updates from both ecosystems. Plan for forking the package or building a custom wrapper. Monitor Symfony’s deprecations (e.g., FormBuilder changes) and Laravel’s jQuery phase-out.
Can I use this package for multi-step or conditional form fields in Laravel?
Yes, Symfony’s FormBuilder excels at multi-step and conditional logic (e.g., `CollectionType` with dynamic child forms). However, you’ll need to handle frontend reactivity (e.g., Alpine.js) for real-time updates and ensure Laravel’s validation aligns with Symfony’s constraints. Test thoroughly for edge cases like nested collections.
How do I test dynamic form collections with this package in Laravel?
Test backend logic using PHPUnit with Symfony’s `FormFactory` and Laravel’s `HttpTestCase`. For frontend interactions, use Pest or Laravel Dusk to simulate Alpine.js/HTMX events (e.g., adding/deleting items). Mock Symfony’s form components in tests to isolate Laravel-specific behavior. Example: `FormFactory::createBuilder()->getForm()->submit($data).
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.
andydefer/laravel-notification
adachsoft/cli-process-tester
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc