GAGA Template

XLetter

Titre

Ne plus l'utiliser

Sujet résolu

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
ililoyd Posté le 27/01/2008 15:18 - #

Membre
5 messages
Bonjour,
Une des améliorations possibles pour le moteur est je pense ne plus utiliser le fichier info.php qui est inutile et qui pour moi utilise une ressource de fichier inutile (et oui avec les fonctions php on peut tout faire ).

Edité par ililoyd le 27/01/2008 15:20

gaga26 Posté le 27/01/2008 17:30 - #



741 messages
18 ans
Salut,

Ok, mais que suggères-tu pour le remplacer ?

ililoyd Posté le 27/01/2008 20:44 - #

Membre
5 messages
Tu peux déja utiliser la fonction filemtime().

gaga26 Posté le 27/01/2008 21:06 - #



741 messages
18 ans
Non, je préfère MD5_file car avec une connexion rapide, des fichiers de même nom peuvent être uploadés en moins d'une seconde, d'où ce choix.

ililoyd Posté le 27/01/2008 21:34 - #

Membre
5 messages
Sais tu ce que fais filemtime ? Je parle pour le cache ce qui rend le fichier obselet.

gaga26 Posté le 28/01/2008 14:18 - #



741 messages
18 ans
Je sais très bien ce que fait filemtime, mais il y a possibilité de croiser des fichiers. Tu vas me dire MD5 aussi, mais il faudrait vraiment être malchanceux, car il y a une chance sur 2 puissance 128 d'avoir le même code...

ililoyd Posté le 28/01/2008 17:54 - #

Membre
5 messages
Y a eu un double post désolé -> voir en bas.

Edité par ililoyd le 28/01/2008 17:57

ililoyd Posté le 28/01/2008 17:55 - #

Membre
5 messages
Tu pourrais intégrer filemtime() pour que le cache parse seulement quand le template est modifié mais ça c'est une autre histoire.

Sinon les autres implémentations de info.php sont pour des liens que tu peux obtenir manuellement ce qui donne une fonction parse_compile_file comme ceci (c'est une ancienne fonction modifiée: la rc1):


private function parse_compile_file($file, $file_tpl, $surnom, $disp=true)
        {
                $nom = $surnom ? $surnom : basename($file, '.tpl');
                $nom_complet = $this->this_dir.$this->template_cache_dir.basename($nom).'-'.@md5_file($file_tpl).'.compiled.php';
               
                if(!is_file($nom_complet) || $this->force_compile || @filemtime($nom_complet) < @filemtime($file_tpl) )
                        $nom_complet = $this->parse_file($file_tpl, $surnom);
                               
               
                if($disp) // Si on inclue le fichier
                {
                        foreach($this->vars as $key=>$var) // on assigne les variables
                        {
                                ${$key} = $var;
                        }
                        include($nom_complet); //on inclue le fichier
                }
               
                return $nom_complet;   
        }

Edité par ililoyd le 28/01/2008 17:56

gaga26 Posté le 28/01/2008 19:36 - #



741 messages
18 ans
Le problème c'est qu'il faut stocker tout les fichiers dans le même dossier, ce n'est pas tant le fichier infos.php qui pose problème.

Ze Thriller Posté le 11/02/2008 11:56 - #


Membre
105 messages
24 ans
Problèmes:

- Un timestamp de fichier se modifie assez facilement, y compris "en masse" (plusieurs fichiers d'un coup)
- Un fichier peut être pseudo-antidaté si une modification quelconque l'affecte (edit par utilisateur ou non, etc...)

Bref, je plussoie gaga, car MD5_file s'en fout complètement des attributs du fichiers -qui par ailleurs peuvent être faux, cf les PC dont la pile du bios a été naze et l'horloge resetée- , mais créer une somme (presque, allez chercher des doublons !) unique selon le contenu du fichier.

Bref, un seul cas de collision, mais c'est une totologie: fichier vide ^^

Et franchement, infos.php est-il si méchant que ça en taille/ressources ? Ca m'étonnerait. Gagatemplate dans son ensemble est on ne peut moins gourmand.

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Suggestions, à la liste des forums, ou au haut de page