diff --git a/src/Runtime/Runtime.php b/src/Runtime/Runtime.php index e03cc48..8952c37 100644 --- a/src/Runtime/Runtime.php +++ b/src/Runtime/Runtime.php @@ -229,6 +229,27 @@ class Runtime return $default; } + /** + * Shortcut to get the the configuration option for a specific environment and merge it with + * the global one (environment specific overrides the global one if present). + * + * @param $key + * @param null $defaultEnv + * @param null $defaultConfig + * + * @return array + */ + public function getMergedEnvAndConfigOption($key, $defaultEnv = null, $defaultConfig = null) + { + $userGlobalOptions = $this->getConfigOption($key, $defaultConfig); + $userEnvOptions = $this->getEnvOption($key, $defaultEnv); + + return array_merge( + (is_array($userGlobalOptions) ? $userGlobalOptions : []), + (is_array($userEnvOptions) ? $userEnvOptions : []) + ); + } + /** * Overwrites an Environment Configuration Option * diff --git a/src/Task/BuiltIn/Symfony/AsseticDumpTask.php b/src/Task/BuiltIn/Symfony/AsseticDumpTask.php index 4c4404c..3229721 100644 --- a/src/Task/BuiltIn/Symfony/AsseticDumpTask.php +++ b/src/Task/BuiltIn/Symfony/AsseticDumpTask.php @@ -43,12 +43,9 @@ class AsseticDumpTask extends AbstractTask protected function getOptions() { - $userGlobalOptions = $this->runtime->getConfigOption('symfony', []); - $userEnvOptions = $this->runtime->getEnvOption('symfony', []); $options = array_merge( ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], - (is_array($userGlobalOptions) ? $userGlobalOptions : []), - (is_array($userEnvOptions) ? $userEnvOptions : []), + $this->runtime->getMergedEnvAndConfigOption('symfony', [], []), $this->options ); diff --git a/src/Task/BuiltIn/Symfony/AssetsInstallTask.php b/src/Task/BuiltIn/Symfony/AssetsInstallTask.php index a6a63c4..8f313ef 100644 --- a/src/Task/BuiltIn/Symfony/AssetsInstallTask.php +++ b/src/Task/BuiltIn/Symfony/AssetsInstallTask.php @@ -43,12 +43,9 @@ class AssetsInstallTask extends AbstractTask protected function getOptions() { - $userGlobalOptions = $this->runtime->getConfigOption('symfony', []); - $userEnvOptions = $this->runtime->getEnvOption('symfony', []); $options = array_merge( ['console' => 'bin/console', 'env' => 'dev', 'target' => 'web', 'flags' => '--symlink --relative'], - (is_array($userGlobalOptions) ? $userGlobalOptions : []), - (is_array($userEnvOptions) ? $userEnvOptions : []), + $this->runtime->getMergedEnvAndConfigOption('symfony', [], []), $this->options ); diff --git a/src/Task/BuiltIn/Symfony/CacheClearTask.php b/src/Task/BuiltIn/Symfony/CacheClearTask.php index bd5b77a..f9df326 100644 --- a/src/Task/BuiltIn/Symfony/CacheClearTask.php +++ b/src/Task/BuiltIn/Symfony/CacheClearTask.php @@ -43,12 +43,9 @@ class CacheClearTask extends AbstractTask protected function getOptions() { - $userGlobalOptions = $this->runtime->getConfigOption('symfony', []); - $userEnvOptions = $this->runtime->getEnvOption('symfony', []); $options = array_merge( ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], - (is_array($userGlobalOptions) ? $userGlobalOptions : []), - (is_array($userEnvOptions) ? $userEnvOptions : []), + $this->runtime->getMergedEnvAndConfigOption('symfony', [], []), $this->options ); diff --git a/src/Task/BuiltIn/Symfony/CacheWarmupTask.php b/src/Task/BuiltIn/Symfony/CacheWarmupTask.php index a2e30f0..f0b6229 100644 --- a/src/Task/BuiltIn/Symfony/CacheWarmupTask.php +++ b/src/Task/BuiltIn/Symfony/CacheWarmupTask.php @@ -43,12 +43,9 @@ class CacheWarmupTask extends AbstractTask protected function getOptions() { - $userGlobalOptions = $this->runtime->getConfigOption('symfony', []); - $userEnvOptions = $this->runtime->getEnvOption('symfony', []); $options = array_merge( ['console' => 'bin/console', 'env' => 'dev', 'flags' => ''], - (is_array($userGlobalOptions) ? $userGlobalOptions : []), - (is_array($userEnvOptions) ? $userEnvOptions : []), + $this->runtime->getMergedEnvAndConfigOption('symfony', [], []), $this->options );