begin process at 2012 05 27 22:10:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Graphique

 > CLASS POUR LES TEMPLATES

CLASS POUR LES TEMPLATES


 Information sur la source

Note :
Aucune note
Catégorie :Graphique Niveau :Débutant Date de création :27/09/2003 Date de mise à jour :19/10/2003 14:21:39 Vu :4 028

Auteur : Magicking

Ecrire un message privé
Site perso
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

C'est pour les Template(lol)
Je suis un peu feignant le truc à été fait en une dizaine de minutes...
Bon ben la source n'est pas compliqué c'est un truc tous simple, si ca peut servir...

Source

  • <?
  • class template{
  • var $search = array();
  • var $replace = array();
  • var $file = "";
  • var $i = 0;
  • function template($name = ""){
  • if(($this->file=@implode("",@file($name))) || $name == "")return 1;
  • else return 0;
  • }
  • function add($mixed,$el = ""){
  • if(is_array($mixed)){
  • $this->file.=implode($el,$mixed);
  • return 1;
  • }else if(is_string($mixed) || is_numeric($mixed)){
  • $this->file.=$mixed;
  • return 1;
  • }
  • return 0;
  • }
  • function assign_array($array){
  • if(is_array($array) && $this->file=="")return 0;
  • while(list($key,$value)=each($array)){
  • $this->search[$this->i]='{'.strtoupper($key).'}';
  • $this->replace[$this->i++]=$value;
  • return 1;
  • }//for
  • }//function
  • function reset(){
  • $this->file = "";
  • $this->search = array();
  • $this->replace = array();
  • $this->i = 0;
  • }
  • function show(){
  • if($this->file=="")return 0;
  • echo str_replace($this->search,$this->replace,$this->file);//If you use PHP5 change to str_ireplace
  • }//function
  • function retour(){
  • if($this->file=="")return 0;
  • return str_replace($this->search,$this->replace,$this->file);//If you use PHP5 change to str_ireplace
  • }//function
  • }//class
  • $tmp['test'] ='Magicking';
  • $temp = new template("test.tpl");
  • $temp->assign_array($tmp);
  • $temp->show();
  • ?>
<?
class template{
var $search  = array();
var $replace = array();
var $file    = "";
var $i       = 0;

function template($name = ""){
if(($this->file=@implode("",@file($name))) || $name == "")return 1;
else return 0;
}

function add($mixed,$el = ""){
if(is_array($mixed)){
$this->file.=implode($el,$mixed);
return 1;
}else if(is_string($mixed) || is_numeric($mixed)){
$this->file.=$mixed;
return 1;
}
return 0;
}

function assign_array($array){
if(is_array($array) && $this->file=="")return 0;
while(list($key,$value)=each($array)){
$this->search[$this->i]='{'.strtoupper($key).'}';
$this->replace[$this->i++]=$value;
return 1;
}//for
}//function

function reset(){
$this->file = "";
$this->search  = array();
$this->replace = array();
$this->i = 0;
}

function show(){
if($this->file=="")return 0;
echo str_replace($this->search,$this->replace,$this->file);//If you use PHP5 change to str_ireplace
}//function

function retour(){
if($this->file=="")return 0;
return str_replace($this->search,$this->replace,$this->file);//If you use PHP5 change to str_ireplace
}//function

}//class

$tmp['test'] ='Magicking';
$temp = new template("test.tpl");
$temp->assign_array($tmp);
$temp->show();
?>

 Conclusion

Dans le template test.tpl :
<html>
<body>
Salut {TEST}<br>
Tu t'appele {TEST}
</body>
</html>

Note:
Il y'a moyen d'assigné pluiseurs tableaux dans le même template
Dans le template les emplacement a remplacé sont toujours en majuscule(sauf si la fonction str_ireplace est utilisé PHP5 only) et est toujours entre crochet({})
Les fonctions retourne 1 quand elle a reussie ou 0 quand elle a echoué
Description des fonctions:
template($name = "")
$name correspond au nom du fichier a utiliser comme template si l'argument est hommis il créera un template vide

add($mixed,$el = "")
$mixed correspond a un tableau a une dimension ou une chaine de caractere
$el correspond au End Line de implode si $mixed est un tableau

assign_array($array)
Assigne un tableau associatif suivant $tablo['nom_valeur']="A remplace" a un template,le tableau peut étre avoir plusieurs élément et plusieurs tableau peuvent étre assigné

reset()
Vide le template mais ne l'efface pas utilisé unset(Object) pour sa

show()
Affiche le template

retour()
Retourne la variable file du template


 Sources du même auteur

Source avec Zip BNC & SERVEUR WEB CLASS/PHP5
SQLBUILDER POUR LES MYSQL_QUERY FACILE(LOL)
ZIP
Source avec Zip PHPMYEXPLORER(ZIP,TELECHARGEMENT,REPRISE... (MAJ)
IP DANS UN CARDE COLORISEZ

 Sources de la même categorie

Source avec Zip Source avec une capture CAMEMBERT BD par dardelphi
Source avec une capture AMÉLIORATION : CAMEMBERT par asphator
GESTION DE COULEUR par manuche
Source avec Zip NAVIGATOR (+CSSDETECTOR) par xXVoxPopuliXx
COMMENT, AVEC GD, DESSINER UN RECTANGLE TRANSPARENT PLEIN AV... par Rainbow

Commentaires et avis

Commentaire de Magicking le 27/09/2003 20:08:56

J'ais oublier de préciser qu'il si vous utilisez php 5 il faut aussi enlevez le strtoupper() qui devient inutile

Commentaire de XoscBloodshed le 12/02/2004 10:56:01

Moi aussi je fais une class de templates, mais j'ai aucune idée pour comment gérer les blocs !

Commentaire de Magicking le 12/02/2004 13:03:49

Pour gérer les bloc il suffit de les mettres dans un fichier concaténé entre deux balise par exemple :
&lt;!-BLOC1-&gt;
Salut c'est moi {NOM}
&lt;!-EndBLOC1-&gt;
&lt;!-BLOC2-&gt;
Salut c'est moi dans le bloc2 {NOM}
&lt;!-EndBLOC2-&gt;
Tu recupere un des deux blocs avec une expression reguliere preg ou ereg(j'ai un peu la tête dans les fesse je viens de me reveiller alors je te laisse le soin de faire l'expression ;) ) et ensuite tu peut faire un truc comme ça :
&lt;?
//expression reguliere...
...
$arrtmp['nom'] ='Magicking';
$cltemp = new template();
$cltemp-&gt;add($strbloc);//$bloc contient le texte du bloc obtenue avec une expression voir plus haut ;)
$cltemp-&gt;assign_array($arrtmp);
$strbloc=$cltemp-&gt;retour();

/*
$strbloc contient ton bloc choisis modifier avec les templates
Bien entendus une autre classe devrait etre faite pour faciliter mais j'ai pas envi c'est fatigant :D
*/
?&gt;

Commentaire de XoscBloodshed le 12/02/2004 13:48:08

Merci, mais j'ai pas compris pour comment faire le "parsage" de tout, dans les classe telle que PHPLib il commence par le blocs le plus en bas et puis remponte, mais que se pass t'ils dans la variable qui contient le fichier final ?

Commentaire de Magicking le 13/02/2004 00:12:49

Je ne connais pas PHPLib ayant arrété le php depuis plusieurs mois et ne codant que occasionellement je ne vois pas de quoi tu parle... mais si tu veut voire comment marche les système des template je t'encourage à regarder les sources des forums comment phpBB, XMB,...

Commentaire de XoscBloodshed le 13/02/2004 08:52:40

Merci jvais allez voir

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales