Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Antwort
 
Themen-Optionen
Alt 03.05.2007, 21:31   Nach oben    #21
bobby
Benutzer
 
Benutzerbild von bobby
 
Registriert seit: 09.03.2007
Ort: Nürnberg
Beiträge: 55
Standard

Hi,

also ich hab meine Konfigurationsschnittstelle dann etwa so umgesetzt:

PHP-Code:
<?php
abstract class Config
{
    abstract protected function 
__construct();

    abstract public function 
load($filename);

    abstract public function 
get($key);

    public static function 
factory($class)
    {
        return new 
$class;
    }
}

class 
Config_PHP extends Config
{
    protected 
$configs;

    public function 
__construct()
    {
        
$this->configs = array();
    }

    public function 
load($filename)
    {
        
$config null;

        require_once(
$filename);

        
$this->config $config;
    }

    public function 
get($key)
    {
        return 
$this->config[$key];
    }
}
$config_php Config::factory("Config_PHP");
?>
Zitat:
1. Die Klasse Config/Image baut eine Instanz von Config_Csv, Image_Png etc. und behält diese als privates Objektattribut und gibt die Anfragen entsprechend weiter.
Das würde ich mit Vorsicht behandeln - das fügt deiner Anwendung nur unötige Komplexität hinzu. (wie xabbuh bereits erwähnt hat)

Der Vorschlag mit abstract bzw. interface ist für mich eine ganz passable Lösung, aber da gibt es bestimmt noch bessere Ansätze

bobby
bobby ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.05.2007, 23:08   Nach oben    #22
dr.e.
Entwickler
 
Benutzerbild von dr.e.
 
Registriert seit: 05.02.2007
Ort: München
Beiträge: 113
Standard

Hallo bobby,

> require_once($filename);
> $this->config = $config;

Wenn das alles ist, was du in deiner Konfigurations-Klasse tust, frage ich mich, warum die eine solche einsetzt. Das ist Overhead, den es nicht braucht. Viel wichtiger ist es meiner Meinung nach über Context-abhängige Konfigurationen und Konfigurationen für verschiedene Umfelder (Test/Live) nachzudenken und hierfür eine standarddisierte Schnittstelle für deine Applikations-Schichten zur Verfügung zustellen. Wie stellst du z.B. generisch sicher, dass ein Modul ABC in verschiedenen Webseiten oder Teilen von Webseiten eingebunden ist und dort jeweils eine dem Context entsprechende Konfiguration hat und laden kann ohne, dass sich der darüberliegende Service - z.B. ein DocumentController oder eine Business-Komponente - Gedanken um Context und Umgebung machen muss? Mir fehlen derartige Überlegungen völlig. Ein derartiges Beispiel habe ich für ini-Dateien unter http://christian.zierpflanzenberatun...=Configuration implementiert....
__________________
Grüße,
Dr.E.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a look at http://www.adventure-php-framework.org!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 04.05.2007, 22:32   Nach oben    #23
bobby
Benutzer
 
Benutzerbild von bobby
 
Registriert seit: 09.03.2007
Ort: Nürnberg
Beiträge: 55
Standard

Zitat:
Zitat von dr.e. Beitrag anzeigen
Hallo bobby,

> require_once($filename);
> $this->config = $config;

Wenn das alles ist, was du in deiner Konfigurations-Klasse tust, frage ich mich, warum die eine solche einsetzt. Das ist Overhead, den es nicht braucht.
Nein das oben genannte Beispiel ist nur eine Veranschaulichung und entspricht nicht meiner Lösung - eine Klasse für eine "require_once" ist wirklich übertrieben.

Den Artikel werde ich mir mal anschauen. Danke

bobby
bobby ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:14 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44