- Is garlic/graphql a Laravel package or a Symfony bundle?
- The published description frames garlic/graphql as a Laravel package with configuration, routing, and middleware integration. However, the repository is named graphql-bundle, which strongly suggests Symfony bundle semantics rather than Laravel package discovery and service providers. That mismatch is material and should be resolved by reading composer.json, the bundle or service provider class, and the README before any design work. Treat the Laravel claim as unverified until a short discovery spike confirms the framework targets.
- How do I install garlic/graphql in a Laravel application?
- The expected path is composer require garlic/graphql followed by publishing configuration and registering routes or a service provider if package discovery is supported. A successful Composer resolution does not guarantee runtime integration, because autoload namespaces, container wiring, and framework bootstrapping may still fail. Install it on a throwaway branch first and confirm that schema registration, route registration, and query execution actually work. If the package is a Symfony bundle, expect no credible Laravel integration path without an adapter layer.
- Which Laravel and PHP versions does garlic/graphql support?
- The last release was 2019-12-23, which points to PHP 7.1 through 7.4 era constraints and older Symfony or Laravel dependency ranges. Modern PHP 8.2 and 8.3 with Laravel 10 or 11 are likely incompatible without patching. Check composer.json for PHP, framework, and webonyx/graphql-php constraints, then run composer why-not against your target application. Do not assume current Laravel version support without that audit.
- What does garlic/graphql provide beyond webonyx/graphql-php?
- The overview claims a schema-first workflow, resolver support for queries and mutations, Laravel configuration, routing and middleware, plus validation and authorization hooks. What is unclear is whether it adds schema stitching, service discovery, auth middleware, or client helpers on top of the underlying GraphQL execution library. The repository description referencing communication among Garlic microservices suggests organization-specific assumptions rather than a general-purpose GraphQL layer. Verify the actual feature surface in code before assuming parity with broader GraphQL packages.
- Is garlic/graphql actively maintained?
- No. The package has three stars, zero dependents, and no releases since 2019-12-23, which is effectively no adoption signal and no community validation. There is no evidence of security patching or PHP 8.x support, so abandonment risk is high. Because a GraphQL layer handles query parsing, introspection, and authorization hooks, an unmaintained dependency is security-sensitive. Plan for ownership, forking, or replacement if you adopt it.
- How do I define a GraphQL schema and resolvers with garlic/graphql?
- The advertised workflow is schema-first: you define types and a clear API contract, then wire resolvers for queries and mutations against your models or custom logic. In a Laravel context you would also expect configuration-driven schema registration and a single endpoint served through routing and middleware. The available context does not document exact class names or directory conventions, so follow the README and confirm behavior in a spike. If the package is Symfony-oriented, schema registration may depend on bundle configuration rather than Laravel config files.
- Does garlic/graphql include validation, authorization, and middleware hooks?
- The package overview states that validation and authorization hooks are included for safer endpoints, along with Laravel middleware integration. Those claims need verification against the actual code, especially if the package uses Symfony kernel and container semantics instead of Laravel middleware. Confirm how per-field authorization, input validation, and error masking are implemented before exposing any endpoint. In an unmaintained GraphQL layer, auth hooks are the highest-risk area to audit.
- Can I use garlic/graphql in production?
- Only with strong caution. The package has no releases in over six years, zero dependents, and unverified Laravel compatibility, which creates abandonment, framework mismatch, ecosystem, and vendor ownership risk. If it is already present in an inherited service, wrap it behind internal interfaces such as a schema registry, executor, or client facade so call sites stay stable. For new production work, prefer webonyx/graphql-php directly, Lighthouse for Laravel, or API Platform on Symfony.
- What are the best alternatives to garlic/graphql for Laravel GraphQL APIs?
- For Laravel, Lighthouse is the established choice because it integrates with Eloquent, policies, and Laravel validation out of the box. If you want framework-agnostic execution, use webonyx/graphql-php directly and build your own thin Laravel integration. On Symfony, API Platform is the lower-risk option. All three have active maintenance and community validation that garlic/graphql currently lacks.
- How do I migrate away from garlic/graphql or limit exit cost?
- Do not plan a migration onto this package; treat it as a legacy in-place dependency only if it already exists in a service you inherited. Introduce an internal interface around schema registration, query execution, and any client helpers so the implementation can be swapped without touching call sites. Then target an exit path such as webonyx/graphql-php for framework-agnostic execution or Lighthouse for Laravel. Sequence the work as a discovery spike, a dependency audit with composer why-not, and then a replacement behind the interface.