Ошибка стандартов кодирования php в Drupal 8: на классы / интерфейсы / признаки пространств имен следует ссылаться с помощью операторов использования - PullRequest
0 голосов
/ 30 мая 2018

Я работаю над пользовательским модулем Drupal 8, который отображает изображение в блоке.Codeniffer помечает следующие строки:

$advertFile = \Drupal\file\Entity\File::load($advert1);
$advertStyle = \Drupal\image\Entity\ImageStyle::load('ad_banner')->buildUrl($advertFile->getFileUri());

Генерируемая ошибка:

На классы / интерфейсы / признаки пространства имен следует ссылаться с помощью операторов использования

Я поместил следующие операторы использования в начало файла и изменил строки на File :: load ... и ImageStyle :: load ... соответственно.Это приводит к ошибкам, и сайт перестает работать.

Не совсем уверен, как правильно выражать классы пространства имен в пользовательском модуле D8, поэтому любая помощь приветствуется!

Обновление: верхняя часть файла выглядит такthis:

<?php

namespace Drupal\my_module\Plugin\Block;

/**
 * @file
 * Contains \Drupal\my_module\Plugin\Block\AdvertBlock.
 */

use Drupal\Core\Block\BlockBase;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\file\Entity\File;
use Drupal\image\Plugin\Field\FieldWidget\ImageWidget;
use Drupal\image\Entity\ImageStyle;

Я получаю сообщение об ошибке: «На веб-сайте произошла непредвиденная ошибка.Пожалуйста, попробуйте позже. '

Спасибо

...