/** * Helper function to build environment files * @param $environment * @throws \Exception */ public static function buildEnvironmentFiles($environment = 'dev') { self::output("\n%gBuilding environment files.%n"); umask(0); $directories = Config::value('yiinitializr.app.directories.config'); if (null === $directories) { throw new \Exception("Unable to find 'yiinitializr.app.directories.config' on the settings."); } if (!is_array($directories)) { $directories = array($directories); } $environment = strlen($environment) ? $environment : 'dev'; foreach ($directories as $directory) { if (file_exists($directory)) { $environment_directory = $directory . '/env'; if (!file_exists($environment_directory)) { mkdir($environment_directory); self::output("Your environment directory has been created: %r{$environment_directory}%n.\n"); } $environment_file = $environment_directory . '/' . $environment . '.php'; if (!file_exists($environment_file)) { file_put_contents($environment_file, "<?php\n/**\n * {$environment}.php\n */\n\nreturn array(\n);"); @chmod($environment_file, 0644); self::output("%gEnvironment configuration file has been created: %r{$environment_file}%n.\n"); } if (!file_exists($directory . '/env.php')) { @copy($environment_file, $directory . '/env.php'); self::output("Your environment configuration file has been created on {$directory}.\n"); } else { self::output("'{$directory}/env.php'\n%pfile already exists. No action has been executed.%n"); } } } Config::createEnvironmentLockFile($environment); self::output("%gEnvironment files creation process finished.%n\n"); }