Ver código fonte

Pipelines can now be initialized and used even without an anonymous function block. This is also needed to get pipelining support backported to PHP 5.2.

Daniele Alessandri 15 anos atrás
pai
commit
0adcd39486
1 arquivos alterados com 6 adições e 4 exclusões
  1. 6 4
      lib/Predis.php

+ 6 - 4
lib/Predis.php

@@ -93,9 +93,9 @@ class Client {
         return $this->_connection->rawCommand($rawCommandData, $closesConnection);
     }
 
-    public function pipeline(\Closure $pipelineBlock) {
+    public function pipeline(\Closure $pipelineBlock = null) {
         $pipeline = new CommandPipeline($this);
-        return $pipeline->execute($pipelineBlock);
+        return $pipelineBlock !== null ? $pipeline->execute($pipelineBlock) : $pipeline;
     }
 
     public function registerCommands(Array $commands) {
@@ -511,12 +511,14 @@ class CommandPipeline {
         $this->_running = $bool;
     }
 
-    public function execute(\Closure $block) {
+    public function execute(\Closure $block = null) {
         $this->setRunning(true);
         $pipelineBlockException = null;
 
         try {
-            $block($this);
+            if ($block !== null) {
+                $block($this);
+            }
             $this->flushPipeline();
         }
         catch (\Exception $exception) {