Следуя этому руководству
http://dirtystylus.com/2018/09/12/graphql-adding-fields-to-types-in-drupal-8/
Я пытаюсь создать новый плагин для поля GraphQL в моем приложении. Однако я получаю фатальную ошибку «Cannot redeclare class», хотя я почти уверен, что в моем приложении нет другого места с классом BackgroundImage.
Это мой dds/src/Plugin/GraphQL/Fields/FieldPluginBase.php
файл, где dds
- этокаталог пользовательского модуля:
namespace Drupal\dds\Plugin\GraphQL\Fields;
use Drupal\graphql\GraphQL\Execution\ResolveContext;
use Drupal\graphql\Plugin\GraphQL\Fields\FieldPluginBase;
use GraphQL\Type\Definition\ResolveInfo;
/**
* A simple field that returns the background image.
*
* For simplicity reasons, this example does not utilize dependency injection.
*
* @GraphQLField(
* id = "backgroundimage",
* type = "String",
* name = "backgroundimage",
* nullable = true,
* multi = false
* )
*/
class BackgroundImage extends FieldPluginBase {
/**
* {@inheritdoc}
*/
public function resolveValues($value, array $args, ResolveContext $context, ResolveInfo $info) {
// parent::resolveValues($value, $args, $context, $info);
$fid = \Drupal::config('dds.settings')->get('background_image');
yield $fid;
}
}
Я получаю ошибку: Fatal error: Cannot declare class Drupal\dds\Plugin\GraphQL\Fields\BackgroundImage, because the name is already in use in /app/web/web/modules/custom/dds/src/Plugin/GraphQL/Fields/FieldPluginBase.php on line 33
.