throw CacheException::
forInvalidHandlers();
} if (!
isset($config->handler
) || !
isset($config->backupHandler
)) { throw CacheException::
forNoBackup();
} $handler = !
empty($handler) ?
$handler :
$config->handler;
$backup = !
empty($backup) ?
$backup :
$config->backupHandler;
if (!
array_key_exists($handler,
$config->validHandlers
) || !
array_key_exists($backup,
$config->validHandlers
)) { throw CacheException::
forHandlerNotFound();
} $adapter =
new $config->validHandlers
[$handler]($config);
if (!
$adapter->
isSupported()) { $adapter =
new $config->validHandlers
[$backup]($config);
if (!
$adapter->
isSupported()) { // Fall back to the dummy adapter.
$adapter =
new $config->validHandlers
['dummy'
]();
} }