- Can I use ruwork/filter-bundle in a Laravel application?
- No, not directly. ruwork/filter-bundle is a Symfony bundle, so it depends on Symfony's dependency injection container, bundle registration, configuration tree, and event dispatcher, none of which map onto Laravel's service container or package auto-discovery. Laravel will not register the bundle, and the filtering abstractions are coupled to Symfony request and DI primitives. Making it work would be a port to Eloquent or the query builder rather than an adoption of the package.
- Is ruwork/filter-bundle still maintained?
- No. The repository is archived and there has been no release since 2018-02-27. It has zero stars and zero dependents on GitHub, which means there is no community, no field validation from real production use, and no issue tracker response. There is also no security response path, so any vulnerability would go unpatched.
- What PHP and Symfony versions does ruwork/filter-bundle support?
- The package was published in 2018 and targets PHP 7.x-era constraints with Symfony 3.x and 4.x bundle conventions. There is no PHP 8+ compatibility guarantee, and its dependency constraints will likely conflict with current Symfony or Laravel versions. Assume conflicts until a Composer resolution check proves otherwise.
- What does ruwork/filter-bundle actually do?
- It is a Symfony bundle that integrates the Ruwork filter component, providing reusable, configurable filters for Doctrine queries and collections. The goal is to keep filtering logic out of controllers and repositories and to build filter forms and query criteria in a structured, maintainable way. The filtering logic itself is fairly small and lightweight.
- What should Laravel developers use instead of ruwork/filter-bundle?
- For Laravel, look at maintained, framework-native options such as Spatie Query Builder or well-tested custom Eloquent scopes. If you are working in Symfony instead, Doctrine filters or API Platform filters are better maintained choices. In every case, prefer a package with active releases and a security response path over an archived 2018 bundle.
- How do I install ruwork/filter-bundle with Composer?
- Composer can install it with composer require ruwork/filter-bundle, but expect dependency resolution failures against modern PHP and framework versions. Note that the GitHub repository is a read-only subtree split, so the README is minimal and there is little documentation beyond the source. Laravel will not auto-register the bundle even if installation succeeds.
- Is ruwork/filter-bundle safe to use in production?
- Technical risk is high. The package is archived with no upstream to patch issues, no release cadence, and no demonstrated production usage given zero dependents. Transitive dependencies would also need auditing for unpatched CVEs. It should not be placed on a critical path or in a production dependency graph.
- Can I fork ruwork/filter-bundle and port the filtering logic to Laravel?
- Yes, and porting is the only defensible path. Extract the minimal filter-resolution logic and reimplement it against Laravel's query builder or Eloquent, then add unit tests and record provenance under your own license header. The code surface is likely small, so the port is tractable. Be aware that the full maintenance burden then transfers to your team permanently.
- Does ruwork/filter-bundle work with Eloquent or Laravel's query builder?
- No. Its filters are built around Doctrine queries and Symfony request and DI primitives, so there is no Eloquent or query builder integration. You would need to rewrite the filter application layer for Laravel's database abstractions. Treat the original source as reference material rather than a working dependency.
- How can I verify whether ruwork/filter-bundle is compatible with my project?
- Work in an isolated branch and run a Composer resolution check against your target PHP and framework versions, then add static analysis and a smoke test. Document resolution failures and API gaps rather than pinning your application backwards to accommodate an archived package. Do not merge the result; use it only to decide between replacing the package with a maintained library or porting the needed logic into first-party code with tests.