12,25 → 12,18 |
* @copyright Copyright (c) 2009, Tela Botanica (accueil@tela-botanica.org) |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3 |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2 |
* @version SVN : $Id$ |
* @version $Id$ |
* @link /doc/framework/ |
*/ |
|
class Config { |
|
/** |
* instance de la classe pointant sur elle même (pour le pattern singleton) |
*/ |
/** Instance de la classe pointant sur elle même (pour le pattern singleton). */ |
private static $instance = null; |
|
/** |
* paramètres de configuration |
*/ |
/** Paramètres de configuration. */ |
private static $parametres = array(); |
|
/** |
* Constructeur vide |
*/ |
private function __construct() { |
// Définition de paramètres avant chargement du config.ini |
self::$parametres = array( |
107,7 → 100,7 |
} |
|
/** |
* fusionne un tableau de paramètres avec le tableau de paramètres global |
* Fusionne un tableau de paramètres avec le tableau de paramètres global |
* @param array $ini le tableau à fusionner |
*/ |
private static function fusionner(array $ini) { |
115,7 → 108,7 |
} |
|
/** |
* renvoie la valeur demandé grâce une chaine de paramètres |
* Renvoie la valeur demandée grâce une chaîne de paramètres |
* @param string $param la chaine de paramètres |
* @param array $config le tableau de paramètre |
* @return string la valeur de la chaine demandée |
164,7 → 157,7 |
} |
|
/** |
* analyse un tableau de paramètres |
* Analyse un tableau de paramètres. |
* @param array $config le tableau de paramètres |
* @return array le tableau analysé |
*/ |
182,8 → 175,8 |
} |
|
/** |
* dans le cas des chaine de configuration à sous clé (ex.: cle.souscle) |
* evalue les valeurs correspondantes et crée les sous tableaux associés |
* Dans le cas des chaine de configuration à sous clé (ex.: cle.souscle) |
* évalue les valeurs correspondantes et crée les sous tableaux associés. |
* @param array $config tableau de configuration (par référence) |
* @param string $cle la cle dans le tableau |
* @param string $valeur la valeur à affecter |
211,7 → 204,7 |
} |
|
/** |
* Evalue les valeurs de références à une clé dans le tableau config (cas du ref:cle) |
* Évalue les valeurs de références à une clé dans le tableau config (cas du ref:cle). |
* @param array $config tableau de configuration |
* @param string $cle la clé dont il faut évaluer les références |
*/ |
224,7 → 217,7 |
} |
|
/** |
* Evalue le code php contenu dans un clé tu tableau config |
* Évalue le code php contenu dans un clé tu tableau config. |
* @param array $config tableau de configuration (par référence) |
* @param string $cle le clé du tableau dont il faut évaluer la valeur |
*/ |
235,7 → 228,7 |
} |
|
/** |
* Charge un fichier ini dans le tableau des paramètres de l'appli |
* Charge un fichier ini dans le tableau des paramètres de l'appli. |
* @param string $fichier_ini le nom du fichier à charger |
* @return array le fichier ini parsé |
*/ |
245,7 → 238,7 |
} |
|
/** |
* Acesseur pour la valeur d'un paramètre |
* Accesseur pour la valeur d'un paramètre. |
* @param string $param le nom du paramètre |
* @return string la valeur du paramètre |
*/ |
255,7 → 248,7 |
} |
|
/** |
* Vérifie si la valeur d'un paramètre existe |
* Vérifie si la valeur d'un paramètre existe. |
* @param string $param le nom du paramètre |
* @return boolean vrai si le paramètre existe, false sinon |
*/ |
263,5 → 256,26 |
self::verifierCreationInstance(); |
return self::existeValeur($param, self::$parametres); |
} |
|
/** |
* Vérifie que tous les paramêtres de config nécessaires au fonctionnement d'une classe existe dans les fichiers |
* de configurations. |
* L'utilisation de cette méthode depuis la classe Config évite de faire appel à une classe supplémentaire. |
* |
* @param array $parametres tableau des noms des paramètres de la config à verifier. |
* @return boolean true si tous les paramétres sont présents sinon false. |
*/ |
public static function verifierPresenceParametres(Array $parametres) { |
$ok = true; |
foreach ($parametres as $param) { |
if (is_null(self::get($param))) { |
$classe = get_class(); |
$m = "L'utilisation de la classe $classe nécessite de définir '$param' dans un fichier de configuration."; |
trigger_error($m, E_USER_ERROR); |
$ok = false; |
} |
} |
return $ok; |
} |
} |
?> |