Temphplate
[ class tree: Temphplate ] [ index: Temphplate ] [ all elements ]

Class: Temphplate

Source Location: /class.temphplate.php

Class Overview

BasicTemphplate
   |
   --Temphplate

Extension officielle de BasicTemphplate implémentant les commandes et les structures conditionnelles. Il s'agit de la classe principale du moteur Temphplate.


Author(s):

Version:

  • 1.1

Variables

Methods


Inherited Variables

Inherited Methods

Class: BasicTemphplate

BasicTemphplate::BasicTemphplate()
Constructeur.
BasicTemphplate::addStructure()
Ajoute une structure de bloc personnalisée.
BasicTemphplate::deleteLast()
Supprime la dernière occurence du bloc.
BasicTemphplate::encodeAccents()
Le code HTML généré verra tous ses caractères spéciaux encodés selon leur équivalent en entité HTML.
BasicTemphplate::error()
Lève l'erreur correspondant au code d'erreur donné.
BasicTemphplate::errorMessage()
Les message correspondant au code d'erreur donné.
BasicTemphplate::fetch()
Renvoie le résultat de l'analyse du modèle.
BasicTemphplate::findFile()
Cherche un fichier dans le répertoire courant, puis dans les répertoires défini par la propriété $include_dir.
BasicTemphplate::htmlTransform()
Transforme les délimiteurs (par défaut '{' et '}') en leur équivalent HTML: &#(code ascii);.
BasicTemphplate::output()
Affiche le résultat de l'analyse du modèle.
BasicTemphplate::parse()
Analyse un modèle directement ou un fichier.
BasicTemphplate::parseFile()
Analyse le modèle contenu dans un fichier. Ce fichier sera recherché dans le répertoire courant, puis dans tous les répertoires spécifiés dans la propriété $include_dir.
BasicTemphplate::parseString()
Analyse le modèle.
BasicTemphplate::parseStructureBlock()
Méthode d'analyse permettant d'implémenter la structure de bloc.
BasicTemphplate::parseTree()
Analyse un modèle sous sa forme d'arbre syntaxique. Cette méthode est généralement appelée par la méthode parseStructureMaStructure d'une classe mère définissant une nouvelle structure de bloc "MaStructure".
BasicTemphplate::repeatBlock()
Répète un bloc sans assignations.
BasicTemphplate::set()
Effectuer une assignations.
BasicTemphplate::setBlock()
Effectue une assignation groupée dans un bloc.
BasicTemphplate::setDelimiters()
Modifie les délimiteurs ouvrant et fermant une instruction.
BasicTemphplate::setError()
Définit un code d'erreur utilisable.
BasicTemphplate::setVars()
Effectue une assignation en série. On fera simplement une suite d'appels à set.
BasicTemphplate::version()

Class Details

[line 956]
Extension officielle de BasicTemphplate implémentant les commandes et les structures conditionnelles. Il s'agit de la classe principale du moteur Temphplate.



Tags:

version:  1.1
author:  Nicolas Chambrier <naholyr@yahoo.fr>


[ Top ]


Class Variables

$allow_complex_conditions =  TRUE

[line 966]

Si cette propriété est mise à FALSE on déactive la reconnaissance des expressions conditionnelles complexes. Cette désactivation ne permettra plus d'avoir des conditions du type a AND b, {myvar}OR{var}={x}, etc... Mais vous permettra de récupérer quelques ressources.


Type:   boolean


[ Top ]

$parse_else_and_elseif =  TRUE

[line 974]

Si cette propriété est mise à FALSE, on ignorera les éléments {else:} et {elseif:condition}.

Si vous êtes sûr que votre modèle n'utilise pas ces structures, vous pourrez gagner en performance en choisissant cette option.



Type:   boolean


[ Top ]

$var_gen_time =  '#dd348490fc0e786930ff47014301d6da#'

[line 987]

On utilise un subterfuge pour l'insertion du temps de génération de la page. En effet, pour que cette valeur soit réellement représentative, il faut l'attribuer tout à la fin du processus. Voilà pourquoi le remplacement de {std:gen_time} se fait en X étapes:
  1. on remplace {std:gen_time} par la propriété $var_gen_time.


2. on effectue tous les traitemens. 3. on surcharge la méthode fetch de façon à récupérer le contenu générer, et d'y remplacer les occurences de $var_gen_time par le temps effectif passé entre l'étape 1 et 3. Vous pouvez modifier cette valeur si vous l'utilisez dans vos pages.



Type:   string


[ Top ]



Class Methods


constructor Temphplate [line 1010]

Temphplate Temphplate( [string $include_dir = ''])

Constructeur



Tags:

see:  BasicTemphplate::BasicTemphplate


Parameters:

string   $include_dir  

[ Top ]

method addCommand [line 1081]

boolean addCommand( string $command, string $function)

Ajoute une commande reconnue par le moteur.

  1. Modèle: {add:1:2}+{add:4:7}={add:1:2:4:7}.
  2. function somme ( $tpl , $path , $params , &$success )
  3. {
  4. // faire la somme des paramètres
  5. $command_name = array_shift($params); // on ignore le paramètre 0: "somme"
  6. $res = 0;
  7. foreach ($params as $param) $res += $param;
  8. return $res;
  9. }
  10. $tpl->addCommand('add', 'somme');
  11. Résultat: 3+11=14




Parameters:

string   $command   Nom de la commande à enregistrer. La syntaxe de la commande sera {Commande:Param1:Param2:etc...}.
string   $function   Fonction de callback. Il s'agit d'une fonction prenant 4 paramètres $tpl (instance du moteur), $path (chemin de type "bloc1/bloc2" de la commande exécutée), $params (paramètres passés à la commande, [0]=>Commande, [1]=>Param1, [2]=>Param2, etc...), &$success (paramètre-résultat booléen indiquant le succès de la commande) et qui renvoie une chaîne de caractères (message d'erreur si $success est mis à FALSE, valeur de la commande sinon).

[ Top ]

method basic_version [line 1045]

string basic_version( )



Tags:

return:  Version de BasicTemphplate dont hérite Temphplate


[ Top ]

method fetch [line 1501]

string fetch( )

Renvoie le résultat de l'analyse du modèle.

  1. Modèle mavar.htm: ...{mavar}...
  2. Code complet:
  3. $tpl =& new BasicTemphplate;
  4. $tpl->set('mavar', 'coucou');
  5. $tpl->parse('mavar.htm');
  6. $str = $tpl->fetch();
  7. Contenu de $str: ...coucou...
Si aucun modèle n'a été analysé, renvoie une chaîne vide. La mise en cache s'effectue à ce moment.




Overrides BasicTemphplate::fetch() (Renvoie le résultat de l'analyse du modèle.)

[ Top ]

method parseStructureIf [line 1287]

boolean parseStructureIf( array $tree, array $assigns, string $path)

Méthode d'analyse permettant d'implémenter la structure de bloc conditionnel.

  1. if ($this->__trueCondition($tree['param'],$assigns,$path)) {
  2. return $this->parseTree($tree['contents'],$assigns,$path);
  3. }
  4. else return TRUE;




Parameters:

array   $tree   arbre syntaxique
array   $assigns   liste des assignements pour cette partie du modèle
string   $path   le chemin qui a mené ici (type "bloc1/bloc2")

[ Top ]

method version [line 1053]

string version( )



Tags:

return:  Version actuelle de la classe


Overrides BasicTemphplate::version() (parent method not documented)

[ Top ]


Documentation generated on Wed, 29 Sep 2004 11:40:12 +0200 by phpDocumentor 1.3.0RC3