MB: Konfiguration auslagern

Beitrag lesen

moin dedlfix,

ich stimme dir zu. Es verwunderte mich.

ich z.B. nenne eine Klasse Foo mit Namespace Config, sodass ich Config\Foo in der Form Zugriff habe. Ich sehe keinen Sinn darin eine Klasse FooCfg zu nennen, wo sie ja schon im Namespace Config enthalten ist.

Zur meiner Frage: warum siehst du keinen sin darin das man mit statischen Klassen Konfigurationsparameter allerart übergeben kann? Ich hab da ein bisschen rum gesponnen.

namespace Config;
class Config {
  private static $settings = []
  protected function set( $key, $value ) {
    self::$settings[ $key ] = $value;
  }
  protected function get( $key ) {
    return self::$settings[ $key ];
  }
}
namespace Config;
class Foo extends Config {}

...so oder zur differenzierung so...

namespace Config;
class Foo extends Config {
  private static $foo = [];
  protected function set( $key, $value ) : void {
    parent::set( self::$foo[ $key ], $value );
  }
  protected function set( $key, $value ) {
    return parent::get( self::$foo[ $key ] );
  }
}

für mich eleganter und technisch genauer. Für konstruktive Kritik bin ich immer zuhaben.

vlg MB