瀏覽代碼

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 年之前
父節點
當前提交
0adcd39486
共有 1 個文件被更改,包括 6 次插入4 次删除
  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) {