MB: Configurations Parameter seprat in Klassen abspeichern?

Beitrag lesen

Hallo henman,

sorry das es so lang gedauert hat

leider verstehe ich dein Anliegen nicht wirklich.

ist es sinnvoll eine Configuration in einer Klasse zuspeichern und geforderte Paarameter in

ok, um Zugriff z.B. auf eine Datenbank zu gewähleisten braucht man parameter Treiber, Hostname, Datenbank usw. Ich könnte das so...

$dbh = new PDO( mysql:dbname=irgendwas;host=irgendwer;charset=utf-8 );

aber auch so ...


class connect {

private dbn;
...

public function __construct( $user, $pass, $dbn ) {
  $this->dbn = $dbn;
  ...
}

private function configConection() {			
  $drv = "{$this->drv}:";
  $dbn = "dbname={$this->dbn}";
  $host = "host={$this->host}";
  $char = "charset={$this->charset}";
  $this->dsn = "$drv:$dbn;$host;$char";
}

private function connect() {
  define( "USER", $this->user );
  define( "PASS", $this->pass );
  define( "DSN",  $this->dsn );
  try {
    $this->DBH = new PDO( DSN, USER, PASS );
    $this->DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );
  } catch ( PDOException $err ) {
    $this->getError();
  }
}

Welche Parameter sollen welchen Funktionen übergeben werden? Was hat das mit einer Konfiguration zu tun? Der Satz ist etwas unverständlich formuliert.

Die angeforderten Paramter der Konstruktor Funktion. Ich will die in einer Classe ablegen

class config {

  private dbn = "irgendwas",
  ...

  public function getDBN() {
    return $this->dbn;
  }

  ...
}
  • Viele Cofigurations Parameter (z.B.: SQL Teiber) sind unwichtig für ausenstehende die nicht mit dem Programm vertraut sind.`

Dem Benutzer ist das (in der Regel) völlig egal.

sehr richtig aber für den Admin denke ich nicht.

Bitte versuche trotzdem, Konfigurationen an einer zentralen Stelle zu sammeln. Dein Zukunfts-Ich und jeder andere Entwickler, der sich deinen Code ansieht, wird dir dankbar sein.

Danke für deinen Rat. Das werde ich unteranderem mit hilfe dieses Forums machen.

Wichte Configurationsdateien (z.B.:wie Datenbanknamen usw) würde ich in INI-Datei ablegen wie mir empfohlen wurde.

Achte hier darauf, dass man die Datei nicht aufrufen kann, z.B. so: example.com/config/cfg.ini

Davon gehe ich aus. aber ich programmiere nur den Quellcode. implementieren muss das der Anwender.

Ich hoffe du verstehst jetzt mein anliegen und meine Fragen. Wenn neue Fragen auftauchen bin ich gern bereit bestmöglichst zu antworten.

Herzliche Grüße MB