Skip to content

Commit 6e84d2f

Browse files
Will Banfieldjmikola
authored andcommitted
Stream registering is now totally transparent to the user
1 parent 2a99015 commit 6e84d2f

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/GridFS/Bucket.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class Bucket
2121
private $databaseName;
2222
private $collectionsWrapper;
2323
private $options;
24+
private static $streamWrapper;
2425
/**
2526
* Constructs a GridFS bucket.
2627
*
@@ -50,6 +51,7 @@ public function __construct(Manager $manager, $databaseName, array $options = []
5051
$this->databaseName = (string) $databaseName;
5152
$this->options = $options;
5253
$this->collectionsWrapper = new GridFSCollectionsWrapper($manager, $databaseName, $options);
54+
$this->registerStreamWrapper($manager);
5355
}
5456

5557
/**
@@ -206,4 +208,12 @@ private function findFileRevision($filename, $revision)
206208
}
207209
return $file;
208210
}
211+
private function registerStreamWrapper($manager)
212+
{
213+
if(isset(Bucket::$streamWrapper)){
214+
return;
215+
}
216+
Bucket::$streamWrapper = new \MongoDB\GridFS\StreamWrapper();
217+
Bucket::$streamWrapper->register($manager);
218+
}
209219
}

tests/GridFS/FunctionalTestCase.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ public function setUp()
2121
$col = new Collection($this->manager, sprintf("%s.%s",$this->getDatabaseName(), $collection));
2222
$col->drop();
2323
}
24-
$streamWrapper = new \MongoDB\GridFS\StreamWrapper();
25-
$streamWrapper->register($this->manager);
2624
$this->bucket = new \MongoDB\GridFS\Bucket($this->manager, $this->getDatabaseName());
2725
$this->collectionsWrapper = $this->bucket->getCollectionsWrapper();
2826
}

0 commit comments

Comments
 (0)