public function __construct(Configuration $configuration, ImagineInterface $imagine, $storageDir) { $this->configuration = $configuration; $this->formats = $configuration->read('images/formats', array()); $this->imagine = $imagine; $this->storageDir = rtrim($storageDir, '/') . '/'; $this->initializeFilters(); }
private function createDatabase(Configuration $configuration) { $db = \Doctrine\DBAL\DriverManager::getConnection(array('driver' => $configuration->read('db/server/driver', 'pdo_mysql'), 'host' => $configuration->read('db/server/host', 'localhost'), 'port' => $configuration->read('db/server/port', 3306), 'user' => $configuration->read('db/server/user'), 'password' => $configuration->read('db/server/password'), 'charset' => 'utf8')); $sm = $db->getSchemaManager(); $databases = $sm->listDatabases(); $database = $configuration->read('db/server/database'); if (!in_array($database, $databases)) { $this->writeln("Create database {$database} ..."); $db->exec('CREATE DATABASE IF NOT EXISTS ' . $database); $databases = $sm->listDatabases(); if (!in_array($database, $databases)) { throw new \RuntimeException('Cannot create database ' . $database); } } }