public static function write($name, $key, $data = null, $expiry = null, array $options = array())
{
$options += array('conditions' => null, 'strategies' => true);
if (is_callable($options['conditions']) && !$options['conditions']()) {
return false;
}
try {
$adapter = static::adapter($name);
} catch (ConfigException $e) {
return false;
}
$key = static::key($key, $data);
if (is_array($key)) {
$keys = $key;
$expiry = $data;
} else {
$keys = array($key => $data);
}
if ($options['strategies']) {
foreach ($keys as $key => &$value) {
$value = static::applyStrategies(__FUNCTION__, $name, $value, array('key' => $key, 'class' => __CLASS__));
}
}
$params = compact('keys', 'expiry');
return static::_filter(__FUNCTION__, $params, function ($self, $params) use($adapter) {
return $adapter->write($params['keys'], $params['expiry']);
});
}