![]() 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/Configuration/ |
<?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\Configuration; use Predis\Profile\Factory; use Predis\Profile\ProfileInterface; use Predis\Profile\RedisProfile; /** * Configures the server profile to be used by the client to create command * instances depending on the specified version of the Redis server. * * @author Daniele Alessandri <[email protected]> */ class ProfileOption implements OptionInterface { /** * Sets the commands processors that need to be applied to the profile. * * @param OptionsInterface $options Client options. * @param ProfileInterface $profile Server profile. */ protected function setProcessors(OptionsInterface $options, ProfileInterface $profile) { if (isset($options->prefix) && $profile instanceof RedisProfile) { // NOTE: directly using __get('prefix') is actually a workaround for // HHVM 2.3.0. It's correct and respects the options interface, it's // just ugly. We will remove this hack when HHVM will fix re-entrant // calls to __get() once and for all. $profile->setProcessor($options->__get('prefix')); } } /** * {@inheritdoc} */ public function filter(OptionsInterface $options, $value) { if (is_string($value)) { $value = Factory::get($value); $this->setProcessors($options, $value); } elseif (!$value instanceof ProfileInterface) { throw new \InvalidArgumentException('Invalid value for the profile option.'); } return $value; } /** * {@inheritdoc} */ public function getDefault(OptionsInterface $options) { $profile = Factory::getDefault(); $this->setProcessors($options, $profile); return $profile; } }