ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
Factory.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Cache\Adaptor;
22
24
29{
30 public function getSpecific(string $adaptor, Config $config): Adaptor
31 {
32 $adaptor_implementation = match ($adaptor) {
33 Config::APCU => new APCu($config),
34 Config::PHPSTATIC => new PHPStatic($config),
35 Config::MEMCACHED => new Memcached($config),
36 default => new PHPStatic($config),
37 };
38
39 return $adaptor_implementation->isAvailable() ? $adaptor_implementation : new PHPStatic($config);
40 }
41
42 public function getWithConfig(Config $config): Adaptor
43 {
44 return $this->getSpecific($config->getAdaptorName(), $config);
45 }
46}
getSpecific(string $adaptor, Config $config)
Definition: Factory.php:30
getWithConfig(Config $config)
Definition: Factory.php:42