interface AlterableInterface
Same name in other branches
- 9 core/lib/Drupal/Core/Database/Query/AlterableInterface.php \Drupal\Core\Database\Query\AlterableInterface
- 8.9.x core/lib/Drupal/Core/Database/Query/AlterableInterface.php \Drupal\Core\Database\Query\AlterableInterface
- 10 core/lib/Drupal/Core/Database/Query/AlterableInterface.php \Drupal\Core\Database\Query\AlterableInterface
Interface for a query that can be manipulated via an alter hook.
Hierarchy
- interface \Drupal\Core\Database\Query\AlterableInterface
Expanded class hierarchy of AlterableInterface
All classes that implement AlterableInterface
21 files declare their use of AlterableInterface
- BlockContentHooks.php in core/
modules/ block_content/ src/ Hook/ BlockContentHooks.php - DatabaseTestHooks.php in core/
modules/ system/ tests/ modules/ database_test/ src/ Hook/ DatabaseTestHooks.php - database_test.module in core/
modules/ system/ tests/ modules/ database_test/ database_test.module - DefaultSelection.php in core/
lib/ Drupal/ Core/ Entity/ Plugin/ EntityReferenceSelection/ DefaultSelection.php - EntityTestHooks.php in core/
modules/ system/ tests/ modules/ entity_test/ src/ Hook/ EntityTestHooks.php
File
-
core/
lib/ Drupal/ Core/ Database/ Query/ AlterableInterface.php, line 8
Namespace
Drupal\Core\Database\QueryView source
interface AlterableInterface {
/**
* Adds a tag to a query.
*
* Tags are strings that identify a query. A query may have any number of
* tags. Tags are used to mark a query so that alter hooks may decide if they
* wish to take action. Tags should be all lower-case and contain only
* letters, numbers, and underscore, and start with a letter. That is, they
* should follow the same rules as PHP identifiers in general.
*
* @param $tag
* The tag to add.
*
* @return $this
* The called object.
*/
public function addTag($tag);
/**
* Determines if a given query has a given tag.
*
* @param $tag
* The tag to check.
*
* @return bool
* TRUE if this query has been marked with this tag, FALSE otherwise.
*/
public function hasTag($tag);
/**
* Determines if a given query has all specified tags.
*
* Each tag to check should be supplied as a separate argument.
*
* @todo Restore PHPDoc of variadic argument in Drupal 8.8, see
* https://www.drupal.org/project/drupal/issues/3029729
*
* @return bool
* TRUE if this query has been marked with all specified tags, FALSE
* otherwise.
*/
public function hasAllTags();
/**
* Determines if a given query has any specified tag.
*
* Each tag to check should be supplied as a separate argument.
*
* @todo Restore PHPDoc of variadic argument in Drupal 8.8, see
* https://www.drupal.org/project/drupal/issues/3029729
*
* @return bool
* TRUE if this query has been marked with at least one of the specified
* tags, FALSE otherwise.
*/
public function hasAnyTag();
/**
* Adds additional metadata to the query.
*
* Often, a query may need to provide additional contextual data to alter
* hooks. Alter hooks may then use that information to decide if and how
* to take action.
*
* @param $key
* The unique identifier for this piece of metadata. Must be a string that
* follows the same rules as any other PHP identifier.
* @param $object
* The additional data to add to the query. May be any valid PHP variable.
*
* @return $this
* The called object.
*/
public function addMetaData($key, $object);
/**
* Retrieves a given piece of metadata.
*
* @param $key
* The unique identifier for the piece of metadata to retrieve.
*
* @return mixed
* The previously attached metadata object, or NULL if one doesn't exist.
*/
public function getMetaData($key);
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overrides |
---|---|---|---|---|
AlterableInterface::addMetaData | public | function | Adds additional metadata to the query. | 3 |
AlterableInterface::addTag | public | function | Adds a tag to a query. | 3 |
AlterableInterface::getMetaData | public | function | Retrieves a given piece of metadata. | 3 |
AlterableInterface::hasAllTags | public | function | Determines if a given query has all specified tags. | 3 |
AlterableInterface::hasAnyTag | public | function | Determines if a given query has any specified tag. | 3 |
AlterableInterface::hasTag | public | function | Determines if a given query has a given tag. | 3 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.