Same name and namespace in other branches
  1. 8.9.x core/modules/image/src/ImageStyleInterface.php \Drupal\image\ImageStyleInterface
  2. 9 core/modules/image/src/ImageStyleInterface.php \Drupal\image\ImageStyleInterface

Provides an interface defining an image style entity.

Hierarchy

Expanded class hierarchy of ImageStyleInterface

All classes that implement ImageStyleInterface

10 files declare their use of ImageStyleInterface
ImageAdminStylesTest.php in core/modules/image/tests/src/Functional/ImageAdminStylesTest.php
ImageEffectAddForm.php in core/modules/image/src/Form/ImageEffectAddForm.php
ImageEffectDeleteForm.php in core/modules/image/src/Form/ImageEffectDeleteForm.php
ImageEffectEditForm.php in core/modules/image/src/Form/ImageEffectEditForm.php
ImageEffectFormBase.php in core/modules/image/src/Form/ImageEffectFormBase.php

... See full list

File

core/modules/image/src/ImageStyleInterface.php, line 10

Namespace

Drupal\image
View source
interface ImageStyleInterface extends ConfigEntityInterface {

  /**
   * Returns the image style.
   *
   * @return string
   *   The name of the image style.
   */
  public function getName();

  /**
   * Sets the name of the image style.
   *
   * @param string $name
   *   The name of the image style.
   *
   * @return $this
   *   The class instance this method is called on.
   */
  public function setName($name);

  /**
   * Returns the URI of this image when using this style.
   *
   * The path returned by this function may not exist. The default generation
   * method only creates images when they are requested by a user's browser.
   * Modules may implement this method to decide where to place derivatives.
   *
   * @param string $uri
   *   The URI or path to the original image.
   *
   * @return string
   *   The URI to the image derivative for this style.
   */
  public function buildUri($uri);

  /**
   * Returns the URL of this image derivative for an original image path or URI.
   *
   * @param string $path
   *   The path or URI to the original image.
   * @param mixed $clean_urls
   *   (optional) Whether clean URLs are in use.
   *
   * @return string
   *   The absolute URL where a style image can be downloaded, suitable for use
   *   in an <img> tag. Requesting the URL will cause the image to be created.
   *
   * @see \Drupal\image\Controller\ImageStyleDownloadController::deliver()
   * @see \Drupal\Core\File\FileUrlGeneratorInterface::transformRelative()
   */
  public function buildUrl($path, $clean_urls = NULL);

  /**
   * Generates a token to protect an image style derivative.
   *
   * This prevents unauthorized generation of an image style derivative,
   * which can be costly both in CPU time and disk space.
   *
   * @param string $uri
   *   The URI of the original image of this style.
   *
   * @return string
   *   An eight-character token which can be used to protect image style
   *   derivatives against denial-of-service attacks.
   */
  public function getPathToken($uri);

  /**
   * Flushes cached media for this style.
   *
   * @param string $path
   *   (optional) The original image path or URI. If it's supplied, only this
   *   image derivative will be flushed.
   *
   * @return $this
   */
  public function flush($path = NULL);

  /**
   * Creates a new image derivative based on this image style.
   *
   * Generates an image derivative applying all image effects and saving the
   * resulting image.
   *
   * @param string $original_uri
   *   Original image file URI.
   * @param string $derivative_uri
   *   Derivative image file URI.
   *
   * @return bool
   *   TRUE if an image derivative was generated, or FALSE if the image
   *   derivative could not be generated.
   */
  public function createDerivative($original_uri, $derivative_uri);

  /**
   * Determines the dimensions of this image style.
   *
   * Stores the dimensions of this image style into $dimensions associative
   * array. Implementations have to provide at least values to next keys:
   * - width: Integer with the derivative image width.
   * - height: Integer with the derivative image height.
   *
   * @param array $dimensions
   *   Associative array passed by reference. Implementations have to store the
   *   resulting width and height, in pixels.
   * @param string $uri
   *   Original image file URI. It is passed in to allow effects to
   *   optionally use this information to retrieve additional image metadata
   *   to determine dimensions of the styled image.
   *   ImageStyleInterface::transformDimensions key objective is to calculate
   *   styled image dimensions without performing actual image operations, so
   *   be aware that performing IO on the URI may lead to decrease in
   *   performance.
   *
   * @see ImageEffectInterface::transformDimensions
   */
  public function transformDimensions(array &$dimensions, $uri);

  /**
   * Determines the extension of the derivative without generating it.
   *
   * @param string $extension
   *   The file extension of the original image.
   *
   * @return string
   *   The extension the derivative image will have, given the extension of the
   *   original.
   */
  public function getDerivativeExtension($extension);

  /**
   * Returns a specific image effect.
   *
   * @param string $effect
   *   The image effect ID.
   *
   * @return \Drupal\image\ImageEffectInterface
   *   The image effect object.
   */
  public function getEffect($effect);

  /**
   * Returns the image effects for this style.
   *
   * @return \Drupal\image\ImageEffectPluginCollection|\Drupal\image\ImageEffectInterface[]
   *   The image effect plugin collection.
   */
  public function getEffects();

  /**
   * Saves an image effect for this style.
   *
   * @param array $configuration
   *   An array of image effect configuration.
   *
   * @return string
   *   The image effect ID.
   */
  public function addImageEffect(array $configuration);

  /**
   * Deletes an image effect from this style.
   *
   * @param \Drupal\image\ImageEffectInterface $effect
   *   The image effect object.
   *
   * @return $this
   */
  public function deleteImageEffect(ImageEffectInterface $effect);

  /**
   * Determines if this style can be applied to a given image.
   *
   * @param string $uri
   *   The URI of the image.
   *
   * @return bool
   *   TRUE if the image is supported, FALSE otherwise.
   */
  public function supportsUri($uri);

}

Members

Namesort descending Modifiers Type Description Overrides
AccessibleInterface::access public function Checks data value access. 6
CacheableDependencyInterface::getCacheContexts public function The cache contexts associated with this object. 12
CacheableDependencyInterface::getCacheMaxAge public function The maximum age for which this object may be cached. 12
CacheableDependencyInterface::getCacheTags public function The cache tags associated with this object. 12
ConfigEntityInterface::calculateDependencies public function Calculates dependencies and stores them in the dependency property. 1
ConfigEntityInterface::disable public function Disables the configuration entity. 1
ConfigEntityInterface::enable public function Enables the configuration entity. 1
ConfigEntityInterface::get public function Returns the value of a property. 1
ConfigEntityInterface::getDependencies public function Gets the configuration dependencies. 1
ConfigEntityInterface::hasTrustedData public function Gets whether on not the data is trusted. 1
ConfigEntityInterface::isInstallable public function Checks whether this entity is installable. 1
ConfigEntityInterface::isUninstalling public function Returns whether this entity is being changed during the uninstall process. 1
ConfigEntityInterface::onDependencyRemoval public function Informs the entity that entities it depends on will be deleted. 1
ConfigEntityInterface::set public function Sets the value of a property. 1
ConfigEntityInterface::setStatus public function Sets the status of the configuration entity. 1
ConfigEntityInterface::status public function Returns whether the configuration entity is enabled. 1
ConfigEntityInterface::trustData public function Sets that the data should be trusted. 1
EntityInterface::bundle public function Gets the bundle of the entity. 1
EntityInterface::create public static function Constructs a new entity object, without permanently saving it. 1
EntityInterface::createDuplicate public function Creates a duplicate of the entity. 2
EntityInterface::delete public function Deletes an entity permanently. 1
EntityInterface::enforceIsNew public function Enforces an entity to be new. 1
EntityInterface::getCacheTagsToInvalidate public function Returns the cache tags that should be used to invalidate caches. 3
EntityInterface::getConfigDependencyKey public function Gets the key that is used to store configuration dependencies. 1
EntityInterface::getConfigDependencyName public function Gets the configuration dependency name. 1
EntityInterface::getConfigTarget public function Gets the configuration target identifier for the entity. 1
EntityInterface::getEntityType public function Gets the entity type definition. 1
EntityInterface::getEntityTypeId public function Gets the ID of the type of the entity. 1
EntityInterface::getOriginalId public function Gets the original ID. 1
EntityInterface::getTypedData public function Gets a typed data object for this entity object. 1
EntityInterface::hasLinkTemplate public function Indicates if a link template exists for a given key. 1
EntityInterface::id public function Gets the identifier. 1
EntityInterface::isNew public function Determines whether the entity is new. 1
EntityInterface::label public function Gets the label of the entity. 3
EntityInterface::language public function Gets the language of the entity. 1
EntityInterface::load public static function Loads an entity. 1
EntityInterface::loadMultiple public static function Loads one or more entities. 1
EntityInterface::postCreate public function Acts on a created entity before hooks are invoked. 1
EntityInterface::postDelete public static function Acts on deleted entities before the delete hook is invoked. 7
EntityInterface::postLoad public static function Acts on loaded entities. 2
EntityInterface::postSave public function Acts on a saved entity before the insert or update hook is invoked. 8
EntityInterface::preCreate public static function Changes the values of an entity before it is created. 4
EntityInterface::preDelete public static function Acts on entities before they are deleted and before hooks are invoked. 6
EntityInterface::preSave public function Acts on an entity before the presave hook is invoked. 8
EntityInterface::referencedEntities public function Gets a list of entities referenced by this entity. 2
EntityInterface::save public function Saves an entity permanently. 3
EntityInterface::setOriginalId public function Sets the original ID. 1
EntityInterface::toArray public function Gets an array of all property values. 2
EntityInterface::toLink public function Generates the HTML for a link to this entity. 1
EntityInterface::toUrl public function Gets the URL object for the entity. 1
EntityInterface::uriRelationships public function Gets a list of URI relationships supported by this entity. 1
EntityInterface::uuid public function Gets the entity UUID (Universally Unique Identifier). 1
ImageStyleInterface::addImageEffect public function Saves an image effect for this style. 1
ImageStyleInterface::buildUri public function Returns the URI of this image when using this style. 1
ImageStyleInterface::buildUrl public function Returns the URL of this image derivative for an original image path or URI. 1
ImageStyleInterface::createDerivative public function Creates a new image derivative based on this image style. 1
ImageStyleInterface::deleteImageEffect public function Deletes an image effect from this style. 1
ImageStyleInterface::flush public function Flushes cached media for this style. 1
ImageStyleInterface::getDerivativeExtension public function Determines the extension of the derivative without generating it. 1
ImageStyleInterface::getEffect public function Returns a specific image effect. 1
ImageStyleInterface::getEffects public function Returns the image effects for this style. 1
ImageStyleInterface::getName public function Returns the image style. 1
ImageStyleInterface::getPathToken public function Generates a token to protect an image style derivative. 1
ImageStyleInterface::setName public function Sets the name of the image style. 1
ImageStyleInterface::supportsUri public function Determines if this style can be applied to a given image. 1
ImageStyleInterface::transformDimensions public function Determines the dimensions of this image style. 1
RefinableCacheableDependencyInterface::addCacheableDependency public function Adds a dependency on an object: merges its cacheability metadata.
RefinableCacheableDependencyInterface::addCacheContexts public function Adds cache contexts.
RefinableCacheableDependencyInterface::addCacheTags public function Adds cache tags.
RefinableCacheableDependencyInterface::mergeCacheMaxAge public function Merges the maximum age (in seconds) with the existing maximum age.
SynchronizableInterface::isSyncing public function Returns whether this entity is being changed as part of a synchronization.
SynchronizableInterface::setSyncing public function Sets the status of the synchronization flag.
ThirdPartySettingsInterface::getThirdPartyProviders public function Gets the list of third parties that store information. 3
ThirdPartySettingsInterface::getThirdPartySetting public function Gets the value of a third-party setting. 3
ThirdPartySettingsInterface::getThirdPartySettings public function Gets all third-party settings of a given module. 3
ThirdPartySettingsInterface::setThirdPartySetting public function Sets the value of a third-party setting. 3
ThirdPartySettingsInterface::unsetThirdPartySetting public function Unsets a third-party setting. 3