/** * @throws CacheBaseException */ public function connect() { if (is_null($this->config)) { throw new CacheBaseException("SFM/Cache is not configured"); } $driver = !$this->config->isDisabled() ? $this->config->getDriver() : null; if ($driver == MemcachedDriver::DRIVER) { $driver = new MemcachedDriver(new \Memcached()); } else { $driver = new DummyDriver(); } $this->adapter = new Adapter($driver); if (false === $this->adapter->addServer($this->config->getHost(), $this->config->getPort(), true)) { throw new CacheBaseException(sprintf("SFM/Cache can't connect to server %s:%s", $this->config->getHost(), $this->config->getPort())); } $this->packer = new TagPacker($this->adapter, $this->generator); }
public function testTransactionAddServer() { $driver = $this->getMockedAdapter(); $driver->expects($this->never())->method('addServer'); $this->setExpectedException('SFM\\Transaction\\TransactionException', "Can't `addServer` while in transaction"); $adapter = new Adapter($driver); $adapter->beginTransaction(); $adapter->addServer('host', 20, 1); }