Ejemplo n.º 1
0
 /**
  * Print the configured options.
  */
 protected function printConfiguration()
 {
     $this->title('Configuration');
     $values = array_except($this->configuration->toArray(), ['definitions', 'middlewares']);
     $values = array_dot($values);
     foreach ($values as $key => &$value) {
         $value = ['<comment>' . $key . '</comment>', $value];
     }
     $this->output->table(['Key', 'Value'], $values);
 }
Ejemplo n.º 2
0
 /**
  * Merge two arrays recursively manually
  * because PHP is bad at it.
  *
  * @param array $configuration
  *
  * @return array
  */
 protected function recursiveMerge(array $configuration)
 {
     foreach ($this->configuration->toArray() as $key => $value) {
         $current = array_get($configuration, $key);
         if (is_array($value)) {
             $current = $current ?: [];
             $configuration[$key] = array_merge($value, $current);
         } else {
             $configuration[$key] = $current !== null ? $current : $value;
         }
     }
     return $configuration;
 }
Ejemplo n.º 3
0
 /**
  * Modify something in the configuration.
  *
  * @param string|array $configuration
  * @param null         $value
  */
 public function configure($configuration, $value = null)
 {
     if ($value && is_string($configuration)) {
         $configuration = [$configuration => $value];
     }
     // Merge stuff manually cause PHP is bad at it
     foreach ($this->configuration->toArray() as $key => $value) {
         $current = array_get($configuration, $key);
         if (is_array($value)) {
             $current = $current ?: [];
             $configuration[$key] = array_merge($value, $current);
         } else {
             $configuration[$key] = $current !== null ? $current : $value;
         }
     }
     $this->configuration = new Configuration($configuration);
 }