ClientKeyDistribution.php 665 B

12345678910111213141516171819202122
  1. <?php
  2. namespace Predis\Options;
  3. class ClientKeyDistribution extends Option {
  4. public function validate($value) {
  5. if ($value instanceof \Predis\Distribution\IDistributionStrategy) {
  6. return $value;
  7. }
  8. if (is_string($value)) {
  9. $valueReflection = new \ReflectionClass($value);
  10. if ($valueReflection->isSubclassOf('\Predis\Distribution\IDistributionStrategy')) {
  11. return new $value;
  12. }
  13. }
  14. throw new \InvalidArgumentException("Invalid value for key distribution");
  15. }
  16. public function getDefault() {
  17. return new \Predis\Distribution\HashRing();
  18. }
  19. }