public function SessionBasedTempStore::delete in Session Based Temporary Storage 8
Deletes data from the store for a given key and releases the lock on it.
Parameters
string $key: The key of the data to delete.
Return value
bool TRUE if the object was deleted or does not exist, FALSE if it exists but is not owned by $this->owner.
Throws
\Drupal\Core\TempStore\TempStoreException Thrown when a lock for the backend storage could not be acquired.
File
- src/
SessionBasedTempStore.php, line 235
Class
- SessionBasedTempStore
- Stores and retrieves temporary data for a given owner.
Namespace
Drupal\session_based_temp_storeCode
public function delete($key) {
$key = $this
->createkey($key);
if (!($object = $this->storage
->get($key))) {
return TRUE;
}
elseif ($object->owner != $this
->getOwner()) {
return FALSE;
}
if (!$this->lockBackend
->acquire($key)) {
$this->lockBackend
->wait($key);
if (!$this->lockBackend
->acquire($key)) {
throw new TempStoreException("Couldn't acquire lock to delete item '{$key}' from '{$this->storage->getCollectionName()}' session based temporary storage.");
}
}
$this->storage
->delete($key);
$this->lockBackend
->release($key);
return TRUE;
}