ServerEval.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. /*
  3. * This file is part of the Predis package.
  4. *
  5. * (c) Daniele Alessandri <suppakilla@gmail.com>
  6. *
  7. * For the full copyright and license information, please view the LICENSE
  8. * file that was distributed with this source code.
  9. */
  10. namespace Predis\Commands;
  11. /**
  12. * @link http://redis.io/commands/eval
  13. * @author Daniele Alessandri <suppakilla@gmail.com>
  14. */
  15. class ServerEval extends Command implements IPrefixable
  16. {
  17. /**
  18. * {@inheritdoc}
  19. */
  20. public function getId()
  21. {
  22. return 'EVAL';
  23. }
  24. /**
  25. * {@inheritdoc}
  26. */
  27. public function prefixKeys($prefix)
  28. {
  29. $arguments = $this->getArguments();
  30. for ($i = 2; $i < $arguments[1] + 2; $i++) {
  31. $arguments[$i] = "$prefix{$arguments[$i]}";
  32. }
  33. $this->setRawArguments($arguments);
  34. }
  35. /**
  36. * {@inheritdoc}
  37. */
  38. protected function canBeHashed()
  39. {
  40. return false;
  41. }
  42. /**
  43. * Calculates the SHA1 hash of the body of the script.
  44. *
  45. * @return string SHA1 hash.
  46. */
  47. public function getScriptHash()
  48. {
  49. return sha1($this->getArgument(0));
  50. }
  51. }