Problème classe
le 02/03/2005 à 09:03
le 02/03/2005 à 09:33
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
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 ( ) ; } } ?>
?>
le 02/03/2005 à 09:53
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
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>
le 02/03/2005 à 16:44
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.
le 02/03/2005 à 19:31
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
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 ...
le 02/03/2005 à 19:33
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
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 !
le 02/03/2005 à 23:08
keitarosan
Déconnecté
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
rex est en forme en ce moment
le 03/03/2005 à 09:18
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Ui !
Non aux BBCodes et non aux templates idiots.
Vive l'autogénération !!!
le 04/03/2005 à 10:15
rosema
Déconnecté
c 'est incroyable ce que je peux écrire comme conneries
[quote]Non aux BBCodes[quote]
La je te suis pas bien...
le 04/03/2005 à 10:54
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
C'est parce que tu n'as pas suivi certaines conversations (voir par exemple le sujet sur les expressions régulières).
le 04/03/2005 à 11:04
mojorisin
Déconnecté
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
J'aime bien utiliser les templates personnelement.
La séparation du code et de l'affichage me plait surtout lors de travail en equipe ou un designer peut générer un template sansrisque pour le code.
Après dans la même lignée on peut dire : pouhaha les css et le xhtml vive le inline avec font,color,border etc...
le 04/03/2005 à 11:28
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Pour moi, le designer n'a pas à écrire une seule ligne de code, donc "exit" les templates.
Le designer pond une page en HTML pur, avec des données en exemple et c'est l'ergonome qui exploite ces "exemples" pour écrire le code de présentation.
Exemple de code de présentation :
<page titre="Accueil" cache="accueil" cachenav="actif"> <menu /> <cadre titre="News"> <news /> </cadre> </page>
Ce code est ensuite "compilé" et donne un script PHP pur qui est ensuite placé sur le serveur.
Aucune machinerie "template" n'est utilisée et les temps de traitement sont incomparable ...
le 05/03/2005 à 10:30
Et ben chacun sa manière de voir rex. N'en dégoute pas les autres pour autant
. Tu diras a smarty que c'est pourri ce qu'ils font ^^
le 05/03/2005 à 21:28
Rex
Déconnecté
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
Tu diras a smarty que c'est pourri ce qu'ils font ^^
On est assez nombreux à penser ça, en effet.
Smarty est le pire exemple du template débile. Ils ont litérallement réinventer une syntaxe. Avant, ça pouvait être bien, maintenant, c'est n'importe quoi.
le 05/03/2005 à 21:32
Isaac
Déconnecté
http://www.zmws.com
On peut aussi mettre <?=$txt ?> je crois.
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter