dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re : [Dolibarr-dev] Un $conf étonnement rempli


From: Pierre Morin
Subject: Re : [Dolibarr-dev] Un $conf étonnement rempli
Date: Tue, 30 Mar 2010 16:21:17 +0200


Je suis en train de voir comment gérer les variables de configuration
d'un module. Il semblerais que les "préférences" d'un module soient à
mettre dans la table llx_const. Dites-moi si je me trompe.
Or voilà, je constate une chose très étrange. En effet, dans la
déclaration de la classe Conf (/htdocs/core/conf.class.php), il n'y a
pas de propriété "$global", ni même de propriété "$service",
"$commande", "$facture", ou autre... Mais ces propriétés existent dans
l'instanciation de la classe (la variable $conf) !
Comment ceci est-il possible ?

Après pas mal de recherches, il me semble que j'ai enfin trouvé une explication à ses drôles de propriétés.
En fait, ce sont des propriétés dynamiques. En PHP, on peut créer des propriétés dynamiquement pour n'importe quelle classe. C'est une particularité de la classe racine stdClass.
Les propriétés sont ainsi créées et initialisées aux lignes 198 à 206 dans /htdocs/core/conf.class.php.

Par contre, il semblerais que j'avais bon lorsque je disais qu'il fallait mettre "les variables de préférences" des modules dans la table "llx_const" puisqu'elles seront  automatiquement prisent en compte, et accessibles dans $conf->global->[nom_de_la_preference]. Tout ceci grâce aux lignes 93 à 113 de /htdocs/core/conf.class.php.

-- 
Pierre Morin
address@hidden 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]