security component) and event dispatchers for pre/post-resolution hooks.0.14.x) and monitor upgrade paths.@deprecated(since: "2.0")).webonyx/graphql-php (~50MB) and optional clients (e.g., apollo-upload-client).@auth directives)?User entity:
// src/GraphQL/Resolver/UserResolver.php
class UserResolver {
public function resolve(ResolveInfo $info) {
return $this->entityManager->getRepository(User::class)
->find($info->getArgument('id'));
}
}
Query.user, Mutation.createUser) alongside existing REST APIs./graphql to the bundle while keeping /api/* for REST./users/{id}/orders) with a GraphQL field:
type User {
id: ID!
orders: [Order!]!
}
deprecation component to warn users of retiring endpoints.composer.json for exact ranges).webonyx/graphql-php dependencies).composer require overblog/graphql-bundle
config/packages/overblog_graphql.yaml:
overblog_graphql:
schema:
query: App\\GraphQL\\Query
mutation: App\\GraphQL\\Mutation
subscription: ~ # (if needed)
UserType, OrderType) extending ObjectType.use Overblog\GraphQLBundle\Definition\ObjectType;
class UserType extends ObjectType {
protected function configureFields() {
$this->addField('id')->setType('id');
$this->addField('name')->setType('string');
}
}
UserResolver for UserType).$client = static::createClient();
$response = $client->request('POST', '/graphql', [
'json' => [
'query' => '{ user(id: 1) { name } }'
]
]);
overblog/graphql-bundle and webonyx/graphql-php for breaking changes.How can I help you explore Laravel packages today?