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 <[email protected] <mailto:[email protected]>>

    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  <tel:%2B33%201%2083%2062%2040%2003>
    GSM:+33 6 33 02 07 97  <tel:%2B33%206%2033%2002%2007%2097>
    Web:http://www.cap-networks.com/
    Email:[email protected]  
<mailto:[email protected]>

    Dolibarr developer:[email protected]  <mailto:[email protected]>
    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  <tel:%2B33%201%2083%2062%2040%2003>
    GSM:+33 6 33 02 07 97  <tel:%2B33%206%2033%2002%2007%2097>
    Web:http://www.cap-networks.com/
    Email:[email protected]  
<mailto:[email protected]>

    Dolibarr developer:[email protected]  <mailto:[email protected]>
    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
    [email protected] <mailto:[email protected]>
    https://lists.nongnu.org/mailman/listinfo/dolibarr-dev




_______________________________________________
Dolibarr-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Eldy (Laurent Destailleur).
---------------------------------------------------------------
EMail: [email protected]
Web: http://www.destailleur.fr

Dolibarr (Project leader): http://www.dolibarr.org
To make a donation for Dolibarr project via Paypal: [email protected]
AWStats (Author) : http://awstats.sourceforge.net
To make a donation for AWStats project via Paypal: [email protected]
AWBot (Author) : http://awbot.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net

_______________________________________________
Dolibarr-dev mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/dolibarr-dev

Répondre à