Subversion Repositories Applications.framework

Rev

Rev 98 | Rev 109 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 98 Rev 105
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
// declare(encoding='UTF-8');
2
/**
3
/**
3
 * Config permet de charger automatiquement les fichiers ini du Framework et de l'application.
4
 * Config permet de charger automatiquement les fichiers ini du Framework et de l'application.
4
 * Elle offre l'accès en lecture seule aux paramêtres de config.
5
 * Elle offre l'accès en lecture seule aux paramètres de config.
5
 * C'est une Singleton.
6
 * C'est une Singleton.
6
 *
7
 *
7
 * PHP Version 5
8
 * PHP Version 5
8
 *
9
 *
9
 * @category  PHP
10
 * @category  PHP
Line 19... Line 20...
19
 
20
 
20
	private static $instance = null;
21
	private static $instance = null;
Line 21... Line 22...
21
	private static $parametres = array();
22
	private static $parametres = array();
22
 
23
 
23
	private function __construct() {
24
	private function __construct() {
24
		// Définition de paramètres avant chargement du config.ini
25
		// Définition de paramètres avant chargement du config.ini
25
		self::$parametres = array(
26
		self::$parametres = array(
26
			'fw_fichier_config' => 'config%s.ini',
27
			'fw_fichier_config' => 'config%s.ini',
Line 27... Line 28...
27
			'fw_chemin' => dirname(__FILE__).DS
28
			'fw_chemin' => dirname(__FILE__).DS
28
			);
29
			);
Line 29... Line 30...
29
 
30
 
30
		// Chargement du fichier config.ini du Framework
31
		// Chargement du fichier config.ini du Framework
31
		self::parserFichierIni(self::$parametres['fw_chemin'].sprintf(self::$parametres['fw_fichier_config'], ''));
32
		self::parserFichierIni(self::$parametres['fw_chemin'].sprintf(self::$parametres['fw_fichier_config'], ''));
Line 32... Line 33...
32
 
33
 
33
		// Chargement du fichier config.ini par défaut de l'application
34
		// Chargement du fichier config.ini par défaut de l'application
Line 130... Line 131...
130
                        $config = array($pieces[0] => $config);
131
                        $config = array($pieces[0] => $config);
131
                    } else {
132
                    } else {
132
                        $config[$pieces[0]] = array();
133
                        $config[$pieces[0]] = array();
133
                    }
134
                    }
134
                } elseif (!is_array($config[$pieces[0]])) {
135
                } elseif (!is_array($config[$pieces[0]])) {
135
                    throw new ErrorException("Ne peut pas créer de sous-clé pour '{$pieces[0]}' car la clé existe déjà");
136
                    throw new ErrorException("Ne peut pas créer de sous-clé pour '{$pieces[0]}' car la clé existe déjà");
136
                }
137
                }
137
                $config[$pieces[0]] = self::evaluerCle($config[$pieces[0]], $pieces[1], $valeur);
138
                $config[$pieces[0]] = self::evaluerCle($config[$pieces[0]], $pieces[1], $valeur);
138
            } else {
139
            } else {
139
                throw new ErrorException("Clé invalide '$cle'");
140
                throw new ErrorException("Clé invalide '$cle'");
140
            }
141
            }
141
    	} else {
142
    	} else {
142
    		$config[$cle] = $valeur;
143
    		$config[$cle] = $valeur;
143
    	}
144
    	}
144
    	return $config;
145
    	return $config;