jobo: OOP: Design Patterns (Factory Method, Dependency Injection, ...)

Beitrag lesen

Hallo,

  1. Wenn man tatsächlich ein "Framework" programmiert, dann muss man die möglichen Anforderungen aller möglichen User abdecken und benötigt dafür ein entsprechend breit gefächertes Angebot an Features. Das Zend Framework erlaubt das Lesen von INI, XML, YAML und JSON-Konfigurationsdateien - das sollte alles mögliche abdecken.

Genau deshalb dachte ich bei den Versuchen, mich da einzuarbeiten immer wieder: wieso gibts kein ZF-light. Das kann dann eben nur INI zB. und das wars. Diese ganzen Konfigurationsmöglichkeiten machen es für einen Anfänger halt recht komplex. Mir ist so, als wenn ich das Argument auch schon mal hie und da viell. sogar aus den eigenen Reihen in Bezug auf ZF 2.0 gelesen hätte. Klar aber auch, dass man bei einem solchen Framework natürlich gerade schaut, möglichst viele Anwendungsfälle bzw. Konfigurationen zu ermöglichen.

Das Konfigurationsproblem lässt sich also entweder aufwendig, komplex und fehleranfällig mit viel "universellem" Code lösen, oder sehr banal, einfach und performant mit sehr konkretem Code: Man kann einfach eine Liste von Konstantendefinitionen in PHP-Code tun und zu Beginn ausführen. Man kann auch eine "Konfigurationsklasse" mit einem statischen internen Array für die Werte befüllen und mit statischen Methoden auslesen. INI-oder gar XML-Dateien veredeln Konfigurationsparameter nicht.

Je nachdem, wer auf die Konfigurationen zugreifen können sollte, wäre eine Liste innerhalb einer Klasse vielleicht nicht so sinnig? Was ich mal probiert hatte war ein globales Array als PHP-Code a la:

config/config.php

  
$GLOBALS["config"]["allowedCategories"] = array("abc","abd","abf");  
$GLOBALS["config"]["titles"]["kuerzel"] = "ein richtiger Titel";  
$GLOBALS["config"]["titles"]["kuerzel2"] = "ein richtiger zweiter Titel";  

Gruß

jobo

0 70

OOP: Design Patterns (Factory Method, Dependency Injection, ...)

Der-Dennis
  • php
  1. 0
    Tom
    1. 0
      Der-Dennis
      1. 0
        Tom
    2. 0
      Tom
      1. 0
        Der-Dennis
    3. 0
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
          1. 0
            Der-Dennis
            1. 0
              Der-Dennis
              1. 0
                jobo
                1. 0
                  Tom
                  1. 0
                    Der-Dennis
                    1. 0
                      Tom
                      1. 0
                        Der-Dennis
                        1. 0
                          Tom
                          1. 0
                            Der-Dennis
                            1. 0
                              Tom
                              1. 0
                                Der-Dennis
                2. 0
                  Der-Dennis
            2. 0
              Sven Rautenberg
              1. 0
                jobo
                1. 0
                  Der-Dennis
  2. 0

    Konfigurationsklassen für ein MVC-Framework

    Feldspar
    • programmiertechnik
    1. 0
      Der-Dennis
      1. 0
        Feldspar
        1. 0
          Der-Dennis
  3. 0
    dedlfix
    1. 0
      Der-Dennis
      1. 0
        dedlfix
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              Der-Dennis
              1. 0
                dedlfix
                1. 0
                  Der-Dennis
  4. 0

    OOP: Design Patterns ... -> Zend Framework

    jobo
    1. 0
      Der-Dennis
      1. 0
        jobo
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              jobo
  5. 0
    Sven Rautenberg
    1. 0
      jobo
      1. 1
        Sven Rautenberg
        1. 0
          jobo
          1. 0
            Der-Dennis
    2. 0
      Der-Dennis
      1. 0
        Sven Rautenberg
        1. 0
          Der-Dennis
      2. 0
        dedlfix
        1. 0
          Der-Dennis
          1. 0
            dedlfix
            1. 0
              Der-Dennis
              1. 0
                dedlfix
                1. 0
                  Der-Dennis
                  1. 0
                    dedlfix
                    1. 0
                      Der-Dennis
                      1. 0
                        dedlfix
                        1. 0
                          Der-Dennis
  6. 0

    Bin erst am Montag wieder da

    Der-Dennis
  7. 0
    hotti
    1. 0
      hotti
      1. 0
        Der-Dennis
        1. 0
          hotti
          1. 0
            Der-Dennis
            • perl
          2. 0
            dedlfix
            1. 0
              Der-Dennis
        2. 0
          hotti
          1. 0
            Der-Dennis
            • perl