Re: Première version

Olivier Pascal <[email protected]> Wed, 31 Mar 2004 22:42:37 +0400
Newsgroups gmane.comp.web.blogv2.devel
Message-ID <[email protected]>
Le Mercredi 31 Mars 2004 19:43, Eric Daspet a écrit :
> Olivier Pascal wrote:
> > Là on a deux possibilitées : soit on utilise IniHandler, et on a accès à
> > toutes les méthodes de lecture et d'écriture, soit on utilise IniReader
> > simplement pour la lecture. Non ?
>
> Ça me parait bien.

J'ai testé; IniReader se charge 2x plus rapidement que IniHandler. A 
l'ouverture d'un fichier, IniReader peut déterminer tout seul le répertoire 
de cache à utiliser, qui diffère selon le fichier de configuration :

/cache/conf/{fichier}.ini~
ou
/cache/modules/{module}/conf/{fichier}.ini~

> > Les deux accès à stat() sont utiles pour confirmer que le cache est bien
> > synchronisé avec le fichier de conf. Sans ces deux accès (instantanés) on
> > devrait relancer le script de génération des fichiers caches à chaque
> > modification de la conf !
>
> Oui, mais est-ce gênant ?
> Redémarrer un service après avoir changer sa conf c'est plutot habituel.
> Changes ta conf apache et tu devras recharger Apache aussi.
> Si comme tu dis la lecture des conf ne prend que quelques ms ça ne
> dérangera personne ;)

Ce qu'il y a c'est qu'on peut s'en passer je pense. D'après moi c'est 
simple ;-)
- d'un coté on perd 7 ms pour charger la classe et on gagne en 
flexibilité
- de l'autre on ne perd que 5 ms (il y a quand même une classe à 
charger) et on perd la flexibilité
On s'éloigne de plus en plus du concept copier / coller pour ajouter un module 
(on met en place une "procédure d'installation" sans quoi le module ne 
pourrait pas fonctionner) mais ce n'est peut-être pas le but ?


Bref pour changer un peu de sujet... concernant l'arborescence de /cache : 
comment doit-elle être générée ? au fur et à mesure selon l'utilisation 
(création des sous-répertoire à la volée) ou tout d'un coup ?
Ex:
/cache/conf
/cache/data
/cache/ping
/cache/modules
/cache/modules/core
/cache/modules/core/conf
/cache/modules/core/data
/cache/modules/core/ping
/cache/modules/admin
/cache/modules/admin/conf
...
Sachant que si elle doit être générée de manière dynamique, il faudra faire 
une fonction qui prépare le terrain en faisant des mkdirs récursifs si le 
répertoire passé en argument n'existe pas, et que si elle est générée de 
manière statique elle devra être regénérée manuellement à chaque ajout / 
suppression de module.

-- 
Olivier Pascal