Nouveau sujet Répondre Imprimer Syndication RSS 2.0

Class template

Votre avis, vos améliorations et idées (surtout ^^)
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 27 Décembre 2007, 20:23

Reprise du dernier message

J'ai corrigé pour le array_merge().
Le preg_match_all je le ferais plus tard ;)

Merci à toi de ton aide :D


http://www.emmablack.net/site/img/sig/signature.png
 
Feu follet
Avatar de Babacooll
  • Age : 18 ans
  • Messages : 148
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 27 Décembre 2007, 20:28
Moi je vous citerai juste Rasmus Lerdorf :

Citation (Rasmus Lerdorg)
(LinuxTag 2002)

PHP est et restera un système de gabarits, même très évolué. Au début, c'était un outil pour me simplifier la vie avec les affichages HTML. Un jour, on m'a demandé d'ajouter l'instruction if, et je l'ai ajouté. Puis, on m'a demandé else, et naturellement, je l'ai ajouté. Et les boucles while et for ont suivi.. Certes, aujourd'hui, c'est bien plus qu'un simple langage de gabarit. Mais si vous regardez les applications de gabarits qui sont publiées, elles commencent aussi à intégrer des conditions et des boucles. Elles finiront par refaire ce que fait PHP, une couche au-dessus de PHP. C'est inutile!


BaB'
 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
Message édité 1 fois, dernière édition par emmablack, 27 Décembre 2007, 20:38     Lien vers ce message 27 Décembre 2007, 20:32
Il y a du vrai dans ce qu'il dit ^^
Mais personnellement, j'ai pas envie de mettre plus que ce qu'il me faut.
Les switch, par exemple, je les ai mit pour le moment parce qu'ils peuvent être utile, mais peut-être seront-ils remplacés entièrement par les conditions. Ou alors les conditions ne viendront pas car les switch suffiront ^^

Comme ma class n'est pas faite dans l'objectif d'être redistribué, je n'ai pas besoin de la remplir de fonction dont je me servirais jamais :D

Edit: Ajout de preg_match_all(). Peut-on utiliser cette fonction autrement qu'avec une boucle ? Enfin pour le remplacement je veux dire ^^ (cf. le fichier de la class)


http://www.emmablack.net/site/img/sig/signature.png
 
Equipe de support
Avatar de Shekral
  • Age : 23 ans
  • Messages : 949
  • Inscrit : 25 Février 2006
  Lien vers ce message 27 Décembre 2007, 20:39

Perl ne sert plus à faire des sites web, PHP est devenu avec Java et ASP (mais dans ce cas, à mon avis il faut de toute façon un codage et une organisation spécifiques) la seule solution serveur-side pour faire des sites web.
Euh... il y en a d'autres... Ruby On Rails (ROR) par exemple, qui vaut vraiment le coup de s'y intéresser.


WikiFSB
 
Volcan
Avatar de Sékiltoyai
  • Age : 20 ans
  • Messages : 1033
  • Inscrit : 19 Septembre 2006
  Lien vers ce message 27 Décembre 2007, 20:44
oui mais beaucoup moins répandu…


http://www.phpfrance.com : Support francophone PHP et Web.
http://sekil.labrute.fr/
 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 27 Décembre 2007, 21:07
J'ai ajouté le support du else pour le switch... mais c'est pas joli à voir ^^
J'en ai profité pour enlever la méthode set_switch() aussi.


http://www.emmablack.net/site/img/sig/signature.png
 
Equipe des MODS
Avatar de Korko
  • Age : 22 ans
  • Messages : 2687
  • Inscrit : 06 Octobre 2004
  Lien vers ce message 28 Décembre 2007, 14:10
Tu as 2 principales façons de coder :
Soit tu prend ton code et tu le parse de façon à ce que le travail soit fait AVANT de parser.
Ou alors tu parse et remplace par du code php de façon à ce que le travail (boucles par exemple) soit fait APRES le parsage.

apres à toi de voir là ya pas trop de différence niveau vitesse je pense. En premier tu fait des preg_replace_callback en deuxieme, tu fait des preg_replace puis un eval.


Dieu vous aime. Offre soumise à conditions
Je suis une Brute
 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 28 Décembre 2007, 14:54
Moi je préfère la première méthode ^^

C'est peut-être pour ça que j'ai du mal avec les boucles, non ?


http://www.emmablack.net/site/img/sig/signature.png
 
Equipe des MODS
Avatar de Korko
  • Age : 22 ans
  • Messages : 2687
  • Inscrit : 06 Octobre 2004
  Lien vers ce message 28 Décembre 2007, 15:14
Oui pour les boucles la premiere est difficile mais la seconde j'ai tjrs eu du mal à l'utiliser surtout avec le html et eval ^^ En fait faut pas passer par eval je crois mais bon.
Enfin moi j'ai toujours fait la premiere.

Faut que tu fasse un preg_replace_callback et que tu remplaces par n fois ce que tu as capturé par ton preg_replace_callback


Dieu vous aime. Offre soumise à conditions
Je suis une Brute
 
Volcan
Avatar de Talus
  • Age : 20 ans
  • Messages : 1548
  • Inscrit : 28 Septembre 2006
Message édité 1 fois, dernière édition par Talus, 28 Décembre 2007, 15:17     Lien vers ce message 28 Décembre 2007, 15:16
Korko > L'avantage de parser avant, c'est que tu peux facilement établir un cache de niveau 1 (euh je crois que c'est cuila), et est plus facile pour les inclusions. Surtout, elle est plus rapide, car plus besoin de passer par les regex, qui elles consomment pas mal de ressources.

Il est vrai que dans la deuxieme on doit passer par eval, mais je pense que c'ets la solution la plus economique et la plus rapide.


 
Equipe des MODS
Avatar de Korko
  • Age : 22 ans
  • Messages : 2687
  • Inscrit : 06 Octobre 2004
  Lien vers ce message 28 Décembre 2007, 15:26
Les regex ne sont pas tres gourmandes si tu les fait bien lol ^^


Dieu vous aime. Offre soumise à conditions
Je suis une Brute
 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 28 Décembre 2007, 15:30
Les regex ne sont pas tres gourmandes si tu les fait bien lol ^^


Ben je suis mal barré moi alors ^^
Mes regex je les fais de manière à ce qu'elle capture ce que je veux qu'elle capture et puis c'est tout ^^

Faut que tu fasse un preg_replace_callback et que tu remplaces par n fois ce que tu as capturé par ton preg_replace_callback


J'essayerais ça ce soir alors, merci ^^


http://www.emmablack.net/site/img/sig/signature.png
 
Volcan
Avatar de Talus
  • Age : 20 ans
  • Messages : 1548
  • Inscrit : 28 Septembre 2006
  Lien vers ce message 28 Décembre 2007, 15:33
Les regex ne sont pas tres gourmandes si tu les fait bien lol ^^


Encore faut les faire bien, et crois moi, c'est pas donné à tout le monde... :p


 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 28 Décembre 2007, 16:31
Est-ce que quelqu'un pourrait faire un petit code simple avec preg_replace_callback() ?
Parce que la doc' de php.net m'a pas beaucoup avancé sur son cas ^^


http://www.emmablack.net/site/img/sig/signature.png
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14507
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 28 Décembre 2007, 16:38
$tableau = array('TOTO' => 'coucou', 'TATA' => 'bonjour');

// On veut remplacer {TOTO} et {TATA} par ce qui se trouve dans $tableau
$str = 'Du texte {TOTO} encore du texte {TATA}';
$str = preg_replace_callback('#\{([A-Z]*?)\}#i', 'mon_callback', $str);

function mon_callback($m)
{
   global $tableau;

   // Ici $m[1] prendra la valeur qu'il y avait dans ([A-Z]*?), donc TOTO puis la seconde fois TATA
   return ($tableau[$m[1]]);
}

echo $str;


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Feu follet
Avatar de emmablack
  • Age : 18 ans
  • Messages : 199
  • Inscrit : 11 Mars 2006
  Lien vers ce message 28 Décembre 2007, 16:51
Ahhhhhhhhh ^^

C'est tout bête en fait quand on a comprit xD

Merci pour ton aide :)


http://www.emmablack.net/site/img/sig/signature.png
 
Répondre


.