Sven Rautenberg: Konstruktor: Klasse erst später definiert

Beitrag lesen

Moin!

Das Fehlerausgabesystem ist Teil des Template-Systems und springt an wenn ein beispielsweise ein DB-Fehler auftritt, deshalb wird das Template-System mit in die DB-Klasse geladen und das Script sofort beendet.

An dem Code ist einiges kritikwürdig.

Erstens: Die Datenbank-Klasse sollte von keinerlei Template-System wissen.
Zweitens: Die Datenbank-Klasse sollte keinen Aufruf "start()" erfordern. Eine DB-Verbindung stellt man dann her, wenn man den ersten Query verarbeitet, oder pauschal einfach beim Instanziieren der Klasse im Konstruktor.

In meiner Welt hat eine DB-Klasse sich ganz am Rand des Klassenbaumes einzusortieren. Zum einen muss die Klasse mit externen Systemen kommunizieren (die Datenbank), schon allein deshalb gehört die Klasse mit keiner weiteren Abhängigkeit belastet, sondern muss ausschließlich nur DB-Dinge tun. Denn das muss ja auch getestet werden, und so ein Test, der eine lauffähige Datenbank erfordert, ist immer aufwendig zu programmieren.

- Sven Rautenberg

0 55

Konstruktor: Klasse erst später definiert

mod
  • php
  1. 0
    mod
  2. 0
    dedlfix
    1. 0
      mod
      1. 0
        mod
        1. 1
          Sven Rautenberg
          1. 0
            mod
          2. 0
            mod
            1. 0
              dedlfix
              1. 0
                mod
                1. 0
                  Sven Rautenberg
                  1. 0
                    mod
                    1. 0
                      dedlfix
            2. 0
              Sven Rautenberg
              1. 0
                hotti
                1. 0
                  Sven Rautenberg
                  1. 0
                    hotti
                    1. 2
                      Sven Rautenberg
              2. 0
                mod
        2. 0
          dedlfix
          1. 0
            mod
            1. 0
              hotti
              1. 0
                mod
                1. 0
                  hotti
                  1. 0
                    dedlfix
                    1. 0
                      hotti
                      1. 0
                        dedlfix
                        1. 0
                          hotti
                          1. 0
                            dedlfix
                            1. 0
                              Sven Rautenberg
                              1. 0
                                hotti
                                1. 0
                                  dedlfix
                                  1. 0
                                    hotti
                                    1. 0
                                      dedlfix
                              2. 0
                                asdf
                            2. 0
                              hotti
                              1. 0
                                Sven Rautenberg
                                1. 0
                                  hotti
                                  1. 1
                                    Sven Rautenberg
                                    1. 0
                                      hotti
                                2. 1
                                  asdf
                              2. 0
                                dedlfix
                                1. 0
                                  hotti
                                  1. 0
                                    dedlfix
                                    1. 0
                                      hotti
                                      1. 1
                                        Sven Rautenberg
            2. 0
              dedlfix
      2. 0
        dedlfix
        1. 0
          Tom
          1. 0
            dedlfix
  3. 0
    hotti
    1. 0

      @mod Vorsicht

      Christopher
      1. 0
        hotti
        1. 0
          Tom
          1. 0
            hotti