Author: Tobias Nyholm (tobias.nyholm@gmail.com)
Inheritance: extends Cache\Adapter\Common\AbstractCachePool
 public function createCachePool()
 {
     $manager = new Manager("mongodb://" . getenv('MONGODB_HOST'));
     // In your own code, only do this *once* to initialize your cache
     $collection = MongoDBCachePool::createCollection($manager, getenv('MONGODB_COLLECTION'));
     return new MongoDBCachePool($collection);
 }
 /**
  * @return mixed
  */
 public function getCollection()
 {
     if ($this->collection === null) {
         $manager = new Manager('mongodb://' . getenv('MONGODB_HOST'));
         // In your own code, only do this *once* to initialize your cache
         $this->collection = MongoDBCachePool::createCollection($manager, getenv('MONGODB_COLLECTION'));
     }
     return $this->collection;
 }
 /**
  * {@inheritdoc}
  */
 public function getAdapter(array $config)
 {
     $dsn = $this->getDsn();
     if (empty($dsn)) {
         $manager = new Manager(sprintf('mongodb://%s:%s', $config['host'], $config['port']));
     } else {
         $manager = new Manager($dsn->getDsn());
     }
     $collection = MongoDBCachePool::createCollection($manager, $config['namespace']);
     return new MongoDBCachePool($collection);
 }
Example #4
0
 /**
  * Create an instance of the MongoDB cache driver.
  *
  * @param array $config
  *
  * @return \Cache\Adapter\MongoDB\MongoDBCachePool
  *
  * @codeCoverageIgnore
  */
 protected function createMongodbDriver(array $config) : MongoDBCachePool
 {
     if (isset($config['username'], $config['password'])) {
         $dns = sprintf('mongodb://%s:%s@%s:%s', $config['username'], $config['password'], $config['server'], $config['port']);
     } else {
         $dns = sprintf('mongodb://%s:%s', $config['server'], $config['port']);
     }
     $collection = MongoDBCachePool::createCollection(new MongoDBManager($dns), $config['database'], $config['prefix']);
     return new MongoDBCachePool($collection);
 }