aequation/utils
Aequation Wire Bundle provides a toolbox of asset/controllers for Symfony 7.2 projects. Install via composer (aequation/utils) to quickly add reusable front-end controllers and utilities for common UI and asset needs.
Symfony/Bundle, DependencyInjection) make direct Laravel integration non-trivial without abstraction layers.Route::controller(), Blade views).Str::, Arr::, Validator) that may duplicate functionality (e.g., string helpers, data sanitization). Justification for adoption must address unique value (e.g., niche algorithms, Symfony-specific optimizations).StringUtils, ArrayUtils, or ValidationUtils could be extracted and ported as standalone Laravel helpers (e.g., via app/Helpers/ or a custom package).autowiring, yaml/config system, and Twig integration are incompatible with Laravel’s PHP/Blade stack. Mitigation: Use composer scripts or custom facades to bridge gaps.EventDispatcher) to Laravel’s Events system would require extensive unit/integration tests.DebugBundle or PropertyAccess, Laravel’s alternative implementations (e.g., debugbar, Arr::get()) may introduce subtle behavioral differences.spatie/array, laravel/helpers) that achieve similar goals?String, Array, Validation) and port them to Laravel as:
app/Helpers/StringHelper.php).Utils::sanitize()).AppServiceProvider).EventListeners or Bundle configurations, build Laravel equivalents using:
Event system for Symfony’s EventDispatcher.Extension system.Controller base classes to extend Laravel’s Controller or use Middleware for shared logic.StringUtils) and test in a Laravel project.Str::slug() vs. StringUtils::slug()).Str::) with the package’s equivalent.AewEventDispatcher).replace or conflict rules in composer.json to avoid pulling in Symfony dependencies:
"replace": {
"symfony/*": "*"
}
phpunit to validate extracted functions against existing tests.composer why symfony to identify Symfony-specific requirements.ArrayUtils) before tackling stateful components (e.g., EventListeners).spatie/laravel-activitylog) to replace Symfony-like functionality.laravel-utils), and adapt it natively.LogicException) may not map cleanly to Laravel’s HttpException. Plan for custom exception handling.StringUtils) should have minimal overhead. Stateful components (e.g., caching layers) may require Laravel-specific optimizations (e.g., Cache::remember).| Risk | Impact | Mitigation |
|---|---|---|
| Incompatible Updates | Symfony 7.3 breaks Laravel wrapper. | Pin to exact version; avoid upstream updates. |
| Behavioral Drift | Package’s Array::flatten() differs from Laravel’s Arr::flatten(). |
Write behavioral tests upfront. |
| Orphaned Package | Author stops maintenance. | Fork under a new repo (e.g., laravel-utils). |
| Over-Engineering | Adopting 80% of the package for 20% value. | Cost-benefit analysis per feature. |
How can I help you explore Laravel packages today?