protected function createConfig()
    {
        $this->setCliMessage('Creating configuration file...');

        $config = file_get_contents(GC_FILE_CONFIG);

        if (empty($config)) {
            $error = $this->translation->text('Failed to read file @path', array('@path' => GC_FILE_CONFIG));
            throw new UnexpectedValueException($error);
        }

        $config .= '$config[\'database\'] = ' . var_export($this->data['database'], true) . ';';
        $config .= PHP_EOL . PHP_EOL;
        $config .= 'return $config;';
        $config .= PHP_EOL;

        if (file_put_contents(GC_FILE_CONFIG_COMPILED, $config) === false) {
            throw new UnexpectedValueException($this->translation->text('Failed to create config.php'));
        }

        chmod(GC_FILE_CONFIG_COMPILED, 0444);
    }