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:----gTKyQnD9Y+iiQ0ffNpkpBFTJx54Ri0++y/KIgQHL9OgxzU2Wck89r+pqqd4zxxWgfY0jNPLcSNcruhPzgiLc8zkMRsKOoMyRy26biX/ydl1nLN5NXiIw/HnHOFnV+orL8/R6jPDGHxnq/iRqTjpq2eDpXWFEmfwPpPuTB5OfdvZmTM2iISesrrWjDa67nAUHjczT7aMpiqvYAAk+I29n5sBGxWk9Nf0CVvBOEeGCrmDlcPI/hpZSYm2i1N/9cZMiRBcAz/UYZ3CTdR6ioVzSE+JdA8Vq2kmjTQ3Pwb6PSWo4mxWCKNw3dPQeeT1+PLP6Bu1+KTSzCq1z+HUDxqXVbWhJalrTrGxas7WATxuu/uI6C7n7vm0kXA0d81i+B20lZonrixl5DrmrY/2G0yhRG5t9hgwes8LQ1GX7lbOi062neuT1+TWsyp8zqEFOjfCaElc7VBx/0yLlsQ5SUUdX2a+3b09sztore+VExLbv+2xRydWVe+7hqnQQo38Z9m7lS810GwL7MAWgYHqhHe4XKGYn2Y/qozrd77cqUfy7/VXmjQBis7B+sLNBvh4c8dREj+PQxtU5Wht/M/EXj/XcmeoDzHrlHbz9AewJxg6ps+NtxEYL22eEKkxFnDXAwHa8MWJrGtRCqvtnO4D3FxyUAgIYHTJieWvurQqUQgLh6GE=----ATTACHMENT:----NzQ2MjY5NTEyNTg3OTYxOCA2NzcxMzkzNzI5NjAyNDg0IDY2MzUyNjI1MjIzNDEyMjM=