Cela pourrait en effet marcher en mettant en static.
On pourrait avoir la méthode getList dans la classe dao tout en
bénéficiant d'une variable static qui peut donc servir de cache a
chaque appel car il n'y a alors pas d'instanciation.
A tester.
En attendant, laisser la methode et le cache dans le
html.formxxx.class.php est une bonne maniere de faire une transition
en douceur.
Le 31/10/2011 14:50, Remy Younes a écrit :
Pourquoi ne pas faire de getList une method static?
2011/10/31 Régis Houssin <address@hidden>
oui mais si on
instancie la classe dao dans la méthode select de
html.form.class afin d'appeler la méthode getList il n'y
aura pas de cache car la classe sera justement instanciée à
chaque appel du select non ?
Le 30/10/11 12:40, Laurent Destailleur a écrit :
Tu peux prendre exemple sur ce
qui est fait pour la liste déroulante des types de
paiements:
select_types_paiements
Cela est dissocié en 2. La fonction qui renvoi le
select formaté et la fonction load_... qui charge le
tableau.
Avantage: Tu peux appeler directement le load pour
n'avoir que la liste.
Avantage 2: Le résultat est mis en cache et donc
plusieurs affichage de la liste déroulante n'execute
qu'une fois l'appel (à reserver pour des listes
déroulantes à longueur "controlé", comme pour des
dictionnaires)
Le défaut qu'il y a toujours est que la methode load
dand html.form.class.php contient la requete select
alors qu'elle devrait se baser sur une methode getList
de la classe dao de l'objet afin de ne plus avoir de
code propre au la classe dao dans une classe dédié à
la présentation. Mais ceci peut se faire dans une
second temps. A terme, la fonction load_... devrait
meme etre déporté dans la methode getList et le cache
mis au sein de la methode getList plutot que
html.form.class.php.
On 29/10/2011 22:16, Régis Houssin wrote:
Laurent,
j'aurais besoin d'avoir juste les array des listes
déroulantes qu'on trouve dans html.form.class par
exemple mais sans les listes déroulantes si tu vois
ce que je veux dire.
ne pourrait on pas dissocier les requêtes sql de la
construction des listes déroulantes ?
Cordialement,
--
Régis Houssin
---------------------------------------------------------
Cap-Networks
30, quai de Verdun
71700 Tournus
FRANCE
VoIP: +33 1 83 62 40 03
GSM: +33 6 33 02 07 97
Web: http://www.cap-networks.com/
Email: address@hidden
Dolibarr developer: address@hidden
Web Portal: http://www.dolibarr.fr/
SaaS offers: http://www.dolibox.fr/
Shop: http://www.dolistore.com/
Development platform: https://doliforge.org/
---------------------------------------------------------
Cordialement,
--
Régis Houssin
---------------------------------------------------------
Cap-Networks
30, quai de Verdun
71700 Tournus
FRANCE
VoIP: +33 1 83 62 40 03
GSM: +33 6 33 02 07 97
Web: http://www.cap-networks.com/
Email: address@hidden
Dolibarr developer: address@hidden
Web Portal: http://www.dolibarr.fr/
SaaS offers: http://www.dolibox.fr/
Shop: http://www.dolistore.com/
Development platform: https://doliforge.org/
---------------------------------------------------------
_______________________________________________
Dolibarr-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
_______________________________________________
Dolibarr-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev
--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr
Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: address@hidden
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: address@hidden
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
|