Files
predis/lib/Predis/Protocols/Text/TextCommandSerializer.php
T
2011-04-06 17:52:39 +02:00

26 lines
688 B
PHP

<?php
namespace Predis\Protocols\Text;
use Predis\Commands\ICommand;
use Predis\Protocols\ICommandSerializer;
class TextCommandSerializer implements ICommandSerializer {
public function serialize(ICommand $command) {
$commandId = $command->getId();
$arguments = $command->getArguments();
$cmdlen = strlen($commandId);
$reqlen = count($arguments) + 1;
$buffer = "*{$reqlen}\r\n\${$cmdlen}\r\n{$commandId}\r\n";
for ($i = 0; $i < $reqlen - 1; $i++) {
$argument = $arguments[$i];
$arglen = strlen($argument);
$buffer .= "\${$arglen}\r\n{$argument}\r\n";
}
return $buffer;
}
}