class ImageEffectBase
Same name in other branches
- 8.9.x core/modules/image/src/ImageEffectBase.php \Drupal\image\ImageEffectBase
- 10 core/modules/image/src/ImageEffectBase.php \Drupal\image\ImageEffectBase
- 11.x core/modules/image/src/ImageEffectBase.php \Drupal\image\ImageEffectBase
Provides a base class for image effects.
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\image\ImageEffectBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\image\ImageEffectInterface, \Drupal\Core\Plugin\ContainerFactoryPluginInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of ImageEffectBase
See also
\Drupal\image\Annotation\ImageEffect
\Drupal\image\ImageEffectInterface
\Drupal\image\ConfigurableImageEffectInterface
\Drupal\image\ConfigurableImageEffectBase
\Drupal\image\ImageEffectManager
4 files declare their use of ImageEffectBase
- DesaturateImageEffect.php in core/
modules/ image/ src/ Plugin/ ImageEffect/ DesaturateImageEffect.php - MigrateImageStylesTest.php in core/
modules/ image/ tests/ src/ Kernel/ Migrate/ d7/ MigrateImageStylesTest.php - NullTestImageEffect.php in core/
modules/ image/ tests/ modules/ image_module_test/ src/ Plugin/ ImageEffect/ NullTestImageEffect.php - UriDependentTestImageEffect.php in core/
modules/ image/ tests/ modules/ image_module_test/ src/ Plugin/ ImageEffect/ UriDependentTestImageEffect.php
File
-
core/
modules/ image/ src/ ImageEffectBase.php, line 20
Namespace
Drupal\imageView source
abstract class ImageEffectBase extends PluginBase implements ImageEffectInterface, ContainerFactoryPluginInterface {
/**
* The image effect ID.
*
* @var string
*/
protected $uuid;
/**
* The weight of the image effect.
*
* @var int|string
*/
protected $weight = '';
/**
* A logger instance.
*
* @var \Psr\Log\LoggerInterface
*/
protected $logger;
/**
* {@inheritdoc}
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, LoggerInterface $logger) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->setConfiguration($configuration);
$this->logger = $logger;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('logger.factory')
->get('image'));
}
/**
* {@inheritdoc}
*/
public function transformDimensions(array &$dimensions, $uri) {
// Most image effects will not change the dimensions. This base
// implementation represents this behavior. Override this method if your
// image effect does change the dimensions.
}
/**
* {@inheritdoc}
*/
public function getDerivativeExtension($extension) {
// Most image effects will not change the extension. This base
// implementation represents this behavior. Override this method if your
// image effect does change the extension.
return $extension;
}
/**
* {@inheritdoc}
*/
public function getSummary() {
return [
'#markup' => '',
'#effect' => [
'id' => $this->pluginDefinition['id'],
'label' => $this->label(),
'description' => $this->pluginDefinition['description'],
],
];
}
/**
* {@inheritdoc}
*/
public function label() {
return $this->pluginDefinition['label'];
}
/**
* {@inheritdoc}
*/
public function getUuid() {
return $this->uuid;
}
/**
* {@inheritdoc}
*/
public function setWeight($weight) {
$this->weight = $weight;
return $this;
}
/**
* {@inheritdoc}
*/
public function getWeight() {
return $this->weight;
}
/**
* {@inheritdoc}
*/
public function getConfiguration() {
return [
'uuid' => $this->getUuid(),
'id' => $this->getPluginId(),
'weight' => $this->getWeight(),
'data' => $this->configuration,
];
}
/**
* {@inheritdoc}
*/
public function setConfiguration(array $configuration) {
$configuration += [
'data' => [],
'uuid' => '',
'weight' => '',
];
$this->configuration = $configuration['data'] + $this->defaultConfiguration();
$this->uuid = $configuration['uuid'];
$this->weight = $configuration['weight'];
return $this;
}
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return [];
}
/**
* {@inheritdoc}
*/
public function calculateDependencies() {
return [];
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
ImageEffectBase::$logger | protected | property | A logger instance. | ||
ImageEffectBase::$uuid | protected | property | The image effect ID. | ||
ImageEffectBase::$weight | protected | property | The weight of the image effect. | ||
ImageEffectBase::calculateDependencies | public | function | Calculates dependencies for the configured plugin. | Overrides DependentPluginInterface::calculateDependencies | |
ImageEffectBase::create | public static | function | Creates an instance of the plugin. | Overrides ContainerFactoryPluginInterface::create | |
ImageEffectBase::defaultConfiguration | public | function | Gets default configuration for this plugin. | Overrides ConfigurableInterface::defaultConfiguration | 4 |
ImageEffectBase::getConfiguration | public | function | Gets this plugin's configuration. | Overrides ConfigurableInterface::getConfiguration | |
ImageEffectBase::getDerivativeExtension | public | function | Returns the extension of the derivative after applying this image effect. | Overrides ImageEffectInterface::getDerivativeExtension | 1 |
ImageEffectBase::getSummary | public | function | Returns a render array summarizing the configuration of the image effect. | Overrides ImageEffectInterface::getSummary | 3 |
ImageEffectBase::getUuid | public | function | Returns the unique ID representing the image effect. | Overrides ImageEffectInterface::getUuid | |
ImageEffectBase::getWeight | public | function | Returns the weight of the image effect. | Overrides ImageEffectInterface::getWeight | |
ImageEffectBase::label | public | function | Returns the image effect label. | Overrides ImageEffectInterface::label | |
ImageEffectBase::setConfiguration | public | function | Sets the configuration for this plugin instance. | Overrides ConfigurableInterface::setConfiguration | |
ImageEffectBase::setWeight | public | function | Sets the weight for this image effect. | Overrides ImageEffectInterface::setWeight | |
ImageEffectBase::transformDimensions | public | function | Determines the dimensions of the styled image. | Overrides ImageEffectInterface::transformDimensions | 4 |
ImageEffectBase::__construct | public | function | |||
ImageEffectInterface::applyEffect | public | function | Applies an image effect to the image object. | 7 | |
PluginInspectionInterface::getPluginDefinition | public | function | Gets the definition of the plugin implementation. | 6 | |
PluginInspectionInterface::getPluginId | public | function | Gets the plugin_id of the plugin instance. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.