Files
predis/lib/Predis/Protocol/Text/TextCommandSerializer.php
T
2011-10-18 15:51:55 +02:00

29 lines
690 B
PHP

<?php
namespace Predis\Protocol\Text;
use Predis\Commands\ICommand;
use Predis\Protocol\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;
}
}