lundi 31 juillet 2006
Bookmark : Utiliser MySQL avec Ruby
Par Christophe, lundi 31 juillet 2006 à 20:43 :: Développement
:: aucun commentaire ::
"This blog is continuing @ http://christophemaximin.com "
Aller au contenu | Aller au menu | Aller à la recherche
lundi 31 juillet 2006
Par Christophe, lundi 31 juillet 2006 à 20:43 :: Développement
:: aucun commentaire ::
jeudi 20 juillet 2006
Par Christophe, jeudi 20 juillet 2006 à 17:15 :: Développement
< christophe971> my god < christophe971> vim7 + ^N rox < kik> tavu < christophe971> clair < kik> et :tabf un_fichier, sarox aussi < kik> ca + :split et vsplit, ca fais un vrai environnement de dév < christophe971> je vais blogguer ça
:: un commentaire ::
mardi 4 juillet 2006
Par Christophe, mardi 4 juillet 2006 à 09:06 :: Développement
Après ce jeu de mot pourri que vous me pardonnerez, je vais vous présenter la classe qui a un ratio utilité/taille le plus grand que j'ai jamais réalisé.
Mon problème de départ était simple : "comment remplacer une partie du <title> de la page alors que l'on est déjà au beau milieu de cette page ?", et comme tout est évidemment bufferisé, ça s'est transformé en "comment modifier le buffer après coup depuis n'importe quel endroit ?"
<?php class Afterbuff { // encore mieux que l'aftershave function __construct(){ $this->todo = ''; } function add($string){ $this->todo .= " \n".$string; // pour qu'il soit presentable lors d'un hypothetique affichage } function exec(){ global $buffer; // devinez ce que contient cette variable ? $retour = eval($this->todo); if($retour != false) $this->todo = ''; return $retour; } } ?>
Oui, ça n'a rien de révolutionnaire, c'est même stupide en fait, mais c'est rudement utile. Exemple d'utilisation :
<?php // ... dans vos headers, apres le debut de la bufferisation $AFTERBUFF = new Afterbuff; // ici on ecrit dans le buffer le <title> echo '<title>Blabla ProutProut</title>'; // .... n'importe ou sur le site, avec $blah = 'Vlan'; $AFTERBUFF->add('$buffer = str_replace("ProutProut","PouetPouet '.$blah.'",$buffer);'); // .... dans le footer php $buffer = ob_get_contents(); ob_end_clean(); $AFTERBUFF->exec(); echo $buffer; ?>
Voili voilà.
:: 2 commentaires ::
Pages: