Pour résoudre ce besoin plusieurs méthodes existes. La plus simple
consiste à définir des variables globales :
$GLOBALS['paramètre_un'] = 'une valeur';
$GLOBALS['paramètre_deux'] = 'une autre valeur';
Cette solution est effectivement simple mais tout développeur un peu
expérimenté conviendra que l'utilisation des variables globales est à
proscrire.
On peut améliorer les choses en regroupant les paramètres dans un
tableau global.
$GLOBALS['configuration']['parametre_un'] = 'une valeur';
$GLOBALS['configuration']['parametre_deux'] = 'une autre valeur';
On peut aussi utiliser des constantes :
define('parametre_un', 'une valeur');
define('parametre_deux', 'une autre valeur');
L'utilisation de constantes peut paraitre plus propre, mais au final
c'est exactement la même chose que d'utiliser des variables globales
avec en plus la limitation du type de valeur (par exemple une
constante n'accepte pas de tableau) .
On peut aussi utiliser Pxxo qui propose une solution que me semble
plus élégante à l'aide de la classe Pxxo_Config.
Jugez plutôt :
// On définit un classe qui hérite de Pxxo_Config
// dans laquelle est spécifie les paramètres nécessaire à l'application.
require_once 'Pxxo/Config.php';
class Ma_Super_Config extends Pxxo_Config
{
var $parametre_un;
var $parametre_deux;
}
// On crée cette classe, on affecte des valeurs aux paramètres et on
enregistre
// la classe pour quelle devient LA classe de configuration pour toute
l'application
$config = new Ma_Super_Config;
$config->parametre_un = 'une valeur';
$config->parametre_deux = 'une autre valeur';
$config->register();
// Enfin, pour accéder aux valeurs des paramètres de configuration
// on utilise une méthode statique
echo Pxxo_Config::get('parametre_un');
echo Pxxo_Config::get('parametre_deux');
Je pense que tu voulais plutôt écrire :
echo Ma_Super_Config::get('parametre_un');
echo Ma_Super_Config::get('parametre_deux');
Oui, mais les deux types d'appel fonctionnent (je viens de vérifier)