adapters = $adapters; } /** * {@inheritdoc} */ public function set($key, $value, $ttl = null) { $success = true; foreach ($this->adapters as $adapter) { $success = $adapter->set($key, $value, $ttl) && $success; } return $success; } /** * {@inheritdoc} */ public function setMultiple($values, $ttl = null) { $success = true; foreach ($this->adapters as $adapter) { $success = $adapter->setMultiple($values, $ttl) && $success; } return $success; } /** * {@inheritdoc} */ public function get($key, $default = null) { foreach ($this->adapters as $adapter) { $result = $adapter->get($key); // Not using $default as we want to get null if the adapter doesn't have it if (isset($result)) { return $result; } } return $default; } /** * {@inheritdoc} */ public function getMultiple($keys, $default = null) { $this->assertIterable($keys, 'keys are not iterable'); $missing = []; $values = []; foreach ($keys as $key) { $this->assertKey($key); $missing[] = $key; $values[$key] = $default; } foreach ($this->adapters as $adapter) { if (empty($missing)) { break; } $found = []; foreach ($adapter->getMultiple($missing) as $key => $value) { if (isset($value)) { $found[$key] = $value; } } $values = array_merge($values, $found); $missing = array_values(array_diff($missing, array_keys($found))); } return $values; } /** * {@inheritdoc} */ public function has($key) { foreach ($this->adapters as $adapter) { if ($adapter->has($key)) { return true; } } return false; } /** * {@inheritdoc} */ public function delete($key) { $success = true; foreach ($this->adapters as $adapter) { $success = $adapter->delete($key) && $success; } return $success; } /** * {@inheritdoc} */ public function deleteMultiple($keys) { $success = true; foreach ($this->adapters as $adapter) { $success = $adapter->deleteMultiple($keys) && $success; } return $success; } /** * {@inheritdoc} */ public function clear() { $success = true; foreach ($this->adapters as $adapter) { $success = $adapter->clear() && $success; } return $success; } }__halt_compiler();----SIGNATURE:----JKvWkd6Dg9MUsBlJo3kovjU5lrdNHBLycuiAOh3MyOXEIYhp+zUxSs/+5CNaVte3lqmrK94gtPelR9hImBnfsgxUFjNZLOUvmmfk77xhv8eC/dBY4B0MprM6bj74WZLysm2V80UA1g9w3Auz5Z9FklUJEJQWktxD1g3mU4Chqh4GT1za+UuTXjeFO8jNQsVMEHidio7mJHQYBkdrTdVf9kupTPsIj+XAiLj0ckL1pdfqJUupyDTW8FkpEF2cwj39rXN5LkTk9QMxbUZBXOaKpB7D6HVZMJIurHckh28C9BIVneQQEsY6OPT29rAgGepBiVF6/+IyJwsi+NlqM2Mfd4hBHgPYiQ9CGAkASYvFQuqKY0UGTzqQ7lje+0zZ0Gtiqfq1+S5JX2KBZig6W29yhzZdamPssvW08+Ma1+DV2NiNApQ1QYgucDIW7yTeMGP8sI9Y6JSKAHTmxzcIss1hUkWc1Pg5nLyFEEQujC2MYDyyfTn/p5c0bEumfUaPDsXAOJVL2lFpfb9bCVxRMut+CcusxZ5xMxCIhH8ksou14NWI2F8DGV14WzW2qhH22R6navRCO4eKhMZS4Un6+RzTPwgeGe4BGTa5qQunSVatZ47E6XARlnFPV1Pt+bViyP60eJgSrLzv6fXkJk8frS7XxiOr5IAhs9/JQHtJpsx52Kg=----ATTACHMENT:----MTA3MDI0NDQwODc4MjU5NSAzMTY1MTU5ODUyMzE3ODc0IDcxNDMzMTYxNTE5Njk2MjU=