Problème classe

Répondre
Rex
le 02/03/2005 à 09:33
Rex
Je ne comprend pas bien ton problème !

Tiens, j'vous crée un système de template en live (pas testé donc) :

<?php
<?php
class Template {
var $vars = array();
var $replace = array();
var $fileName = null;

function Template($fileName) {
if (! file_exists($fileName)) die('Template inexistant');
$this->fileName = $fileName;
}

function set($varName, $value) {
$this->vars[] = '{' . $varName . '}';
$this->replace[] = $value;
}

function parse() {
return str_replace($this->vars, $this->replace, file_get_contents($this->fileName));
}

function display() {
echo $this->parse();
}
}

?>
?>
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Rex
le 02/03/2005 à 09:53
Rex
Enfin, personnellement je ne vois pas l'intérêt de ce genre de système. Pourquoi ne pas mettre des "<?php echo ?>" à la place de "{variable}" ??

Tiens, voici un code que j'utilise :
<?php
require 'Laurence.class.php';

$page = new Laurence('test.html');
$page->titre = 'Le titre';
$page->table = array(7,5,1,19,17,2,8);
$page->display();
?>


Et voici le contenu de "test.html" :
<html>
<head>
<title><?php echo $this->dataSource['titre']; ?></title>
</head>
<body>
<h1><?php echo $this->dataSource['titre']; ?></h1>
<table>
<tbody>
<?php $list_classe = array('paire'=>'impaire', 'impaire'=>'paire'); $this->dataSource['classe'] = 'impaire'; foreach( $this->dataSource['table'] as $this->dataSource['valeur']) { $this->dataSource['classe'] = $list_classe[$this->dataSource['classe']]; ?>
<tr class="<?php echo $this->dataSource['classe']; ?>"><td><?php echo $this->dataSource['valeur']; ?></td></tr>
<?php } ?>
</tbody>
</table>
</body>
</html>
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
eljam
le 02/03/2005 à 16:44
eljam
En fait l'intérêt premier c de séparé le code du template. Ce que je pensais faire c'était avoir des variables entre {} et ensuite de faire correspondre tout le code d'une page à une variable pour gérer l'affichage de menu ou de block. Mais en fait j'ai trouvé une autre solution avec la classe qe j'ai.

Merci pour l'exemple.
Rex
le 02/03/2005 à 19:31
Rex
En fait l'intérêt premier c de séparé le code du template.

Je n'ai jamais pu comprendre pourquoi les gens faisaient ça. A part ralentir les pages, ça n'apporte rien ...
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Rex
le 02/03/2005 à 19:33
Rex
HAAaaa ... siii ... je sais pourquoi !
En fait, les gens ont besoin de barrière sinon, ils font de la merde.

En gros, ils ont peur de mélanger le traitement de l'affichage, alors ils s'imposent une telle bêtise pour éviter les débordements !
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
keitarosan
le 02/03/2005 à 23:08
keitarosan
rex est en forme en ce moment smiley
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Rex
le 03/03/2005 à 09:18
Rex
Ui !

Non aux BBCodes et non aux templates idiots.

Vive l'autogénération !!!
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
rosema
le 04/03/2005 à 10:15
rosema
Non aux BBCodes

La je te suis pas bien...
c 'est incroyable ce que je peux écrire comme conneries
Rex
le 04/03/2005 à 10:54
Rex
C'est parce que tu n'as pas suivi certaines conversations (voir par exemple le sujet sur les expressions régulières).
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Répondre
LoadingChargement en cours