- Is krilo89/jsonapi-rql-finder-bundle a Laravel package or a Symfony bundle?
- It is a Symfony bundle. The package name, the -bundle suffix, and the README reference to paknahad/jsonapi-bundle all point to Symfony service-container integration rather than a Laravel service provider. It registers the JSON:API RQL finder as a bundle service and sits between an incoming HTTP request and the Doctrine persistence layer. There is no Laravel service provider, facade, or config stub shipped with it.
- Can I use this RQL finder in a Laravel app with Eloquent?
- Not by installing it. Laravel's JSON:API implementations such as laravel-json-api and cloudcreativity/json-api use service providers, Eloquent scopes, and their own filter and sort handling, none of which this bundle targets. Adopting it in Laravel would mean forking and re-hosting the RQL parsing logic behind an Eloquent adapter. Treat it as an architectural mismatch unless your stack is Symfony.
- How do I install and register the bundle in a Symfony application?
- Install it with Composer under the krilo89 vendor name and confirm which package name the 3.0.x line actually ships under before you commit a constraint. Then register the bundle in your bundles.php or services configuration so the RQL finder becomes available in the container. The integration surface is small, typically a bundle registration plus one service definition wiring the finder into the existing finder interface.
- How do I wire the RQL finder into my Doctrine-backed JSON:API resources?
- The bundle is a pluggable finder, so you register it as a service and point your resource pipeline at it in place of the default finder. It then translates RQL filter and sort expressions from the request query string into Doctrine queries. Your resources must already be exposed through the parent paknahad/jsonapi-bundle pipeline for this to work.
- What RQL filter and sort syntax does this package parse?
- It parses RQL, the Resource Query Language dialect, which supports comparison operators and logical composition of expressions. Those expressions are read from HTTP query parameters and converted into database queries without hand-written parsing code. Note that RQL is not part of the JSON:API specification, so it is a separate syntax your clients must be taught.
- Why use RQL instead of standard JSON:API filter, sort, and page parameters?
- RQL gives you richer expressions, including comparison operators and boolean composition, than plain filter[...] parameters. The trade-off is interoperability: the JSON:API spec standardizes filter, sort, include, page, and sparse fieldsets, so generic clients and generated SDKs will not speak RQL out of the box. Choosing RQL commits you to documenting and supporting the syntax for your API consumers.
- Which version of paknahad/jsonapi-bundle does the 3.0.x line require?
- The dependency on paknahad/jsonapi-bundle remains a hard prerequisite, but the 3.0.x release notes contain no compatibility statement. A major version bump on this package is a plausible signal that the parent pin moved, so verify the constraint in composer.json rather than assuming. Confirm the parent bundle version is compatible before upgrading from 2.x.
- What changed between 2.x and 3.0.2, and did the vendor name change?
- The 3.0.2 artifact is published from Krilo89/jsonapi-rql-finder-bundle rather than the paknahad namespace referenced in earlier evaluations, so first confirm whether this is a repo transfer, a rename, or an independent fork. The release notes themselves contain no breaking-change callout, no migration notes, and no changelog. Budget time to diff 3.0.1 against 3.0.2 and read the 3.0.0 tag before assuming backward compatibility.
- Is the package tested and safe to run in production?
- There is no test or CI evidence published with the 3.0.2 release, and the codebase is small enough that a full read-through is the realistic way to gain confidence. The highest-severity technical concern is correctness in RQL-to-query translation, the classic place for unparameterized predicates, so audit how expressions are bound. A low-adoption transitive dependency will also surface in composer audit and SOC2-style vendor review, so expect to write an exception or a fork justification.
- Is the project still maintained, and what are the alternatives?
- It is not dead, since a 3.0.x line exists and 3.0.2 shipped, but releases are sporadic and undocumented, which makes planning harder than a cleanly abandoned dependency. Assume no upstream fix will land when you need it, and note that the required parent bundle is itself low-activity, so you inherit a two-link chain of thinly maintained libraries. Alternatives are to stay on Symfony with paknahad/jsonapi-bundle and accept the risk, or on Laravel to use laravel-json-api or cloudcreativity/json-api with Eloquent scopes and their built-in filter handling.