public function delete($key)
{
// check the current value to see if it currently exists, so we can
// properly return true/false as would be expected from KeyValueStore
$value = $this->get($key);
if ($value === false) {
return false;
}
/*
* To make sure that subsequent get() calls for this key don't return
* a value (it's supposed to be deleted), we'll make it expired in our
* temporary bag (as opposed to deleting it from out bag, in which case
* we'd fall back to fetching it from real store, where the transaction
* might not yet be committed)
*/
$this->local->set($key, $value, -1);
$this->defer->delete($key);
return true;
}