Garage.php in GraphQL 8.3
File
tests/modules/graphql_plugin_test/src/Plugin/GraphQL/Fields/Garage.php
View source
<?php
namespace Drupal\graphql_plugin_test\Plugin\GraphQL\Fields;
use Drupal\Core\DependencyInjection\DependencySerializationTrait;
use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\graphql\GraphQL\Execution\ResolveContext;
use Drupal\graphql\Plugin\GraphQL\Fields\FieldPluginBase;
use Drupal\graphql_plugin_test\GarageInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use GraphQL\Type\Definition\ResolveInfo;
class Garage extends FieldPluginBase implements ContainerFactoryPluginInterface {
use DependencySerializationTrait;
protected $garage;
public static function create(ContainerInterface $container, array $configuration, $pluginId, $pluginDefinition) {
return new static($configuration, $pluginId, $pluginDefinition, $container
->get('graphql_test.garage'));
}
public function __construct(array $configuration, $pluginId, $pluginDefinition, GarageInterface $garage) {
$this->garage = $garage;
parent::__construct($configuration, $pluginId, $pluginDefinition);
}
public function resolveValues($value, array $args, ResolveContext $context, ResolveInfo $info) {
foreach ($this->garage
->getVehicles() as $vehicle) {
(yield $vehicle);
}
}
}
Classes
Name |
Description |
Garage |
List everything we've got in our garage. |