mirror of
https://github.com/predis/predis.git
synced 2026-08-24 18:09:33 +00:00
25 lines
642 B
PHP
25 lines
642 B
PHP
<?php
|
|
|
|
namespace Predis\Protocols;
|
|
|
|
use Predis\Commands\ICommand;
|
|
|
|
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;
|
|
}
|
|
}
|