![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/vendor/predis/predis/src/Profile/ |
<?php /* * This file is part of the Predis package. * * (c) Daniele Alessandri <[email protected]> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Predis\Profile; use Predis\ClientException; /** * Factory class for creating profile instances from strings. * * @author Daniele Alessandri <[email protected]> */ final class Factory { private static $profiles = array( '2.0' => 'Predis\Profile\RedisVersion200', '2.2' => 'Predis\Profile\RedisVersion220', '2.4' => 'Predis\Profile\RedisVersion240', '2.6' => 'Predis\Profile\RedisVersion260', '2.8' => 'Predis\Profile\RedisVersion280', '3.0' => 'Predis\Profile\RedisVersion300', '3.2' => 'Predis\Profile\RedisVersion320', 'dev' => 'Predis\Profile\RedisUnstable', 'default' => 'Predis\Profile\RedisVersion320', ); /** * */ private function __construct() { // NOOP } /** * Returns the default server profile. * * @return ProfileInterface */ public static function getDefault() { return self::get('default'); } /** * Returns the development server profile. * * @return ProfileInterface */ public static function getDevelopment() { return self::get('dev'); } /** * Registers a new server profile. * * @param string $alias Profile version or alias. * @param string $class FQN of a class implementing Predis\Profile\ProfileInterface. * * @throws \InvalidArgumentException */ public static function define($alias, $class) { $reflection = new \ReflectionClass($class); if (!$reflection->isSubclassOf('Predis\Profile\ProfileInterface')) { throw new \InvalidArgumentException("The class '$class' is not a valid profile class."); } self::$profiles[$alias] = $class; } /** * Returns the specified server profile. * * @param string $version Profile version or alias. * * @throws ClientException * * @return ProfileInterface */ public static function get($version) { if (!isset(self::$profiles[$version])) { throw new ClientException("Unknown server profile: '$version'."); } $profile = self::$profiles[$version]; return new $profile(); } }