Client.php 925 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace Predis\Commands;
  3. class Client extends Command {
  4. public function getId() {
  5. return 'CLIENT';
  6. }
  7. protected function canBeHashed() {
  8. return false;
  9. }
  10. public function parseResponse($data) {
  11. $args = array_change_key_case($this->getArguments(), CASE_UPPER);
  12. switch (strtoupper($args[0])) {
  13. case 'LIST':
  14. return $this->parseClientList($data);
  15. case 'KILL':
  16. default:
  17. return $data;
  18. }
  19. }
  20. protected function parseClientList($data) {
  21. $clients = array();
  22. foreach (explode("\n", $data, -1) as $clientData) {
  23. $client = array();
  24. foreach (explode(' ', $clientData) as $kv) {
  25. @list($k, $v) = explode('=', $kv);
  26. $client[$k] = $v;
  27. }
  28. $clients[] = $client;
  29. }
  30. return $clients;
  31. }
  32. }