QuickModels

Délimiter des zones de traitement : explication

Pour ne pas charger inutilement le travail de QuickModels, il est possible de définir des zones de traitement, en entourant les codes à analyser par un couple de balises, une de début de zone et une autre de fin de zone, leur syntaxe est la suivante :

Il est possible de définir plusieurs zones de traitement dans chaque modèle QM, mais il faut bien prendre soin de ne pas les imbriquer, il faut toujours fermer une zone de traitement avant d'en ouvrir une autre. Enfin, un trop grand nombre de zones de traitement peut produire l'effet inverse, c'est à dire, un ralentissement de l'analyse.

Si aucune zone de traitement n'a été définie dans la page, l'ensemble du code sera analysé et traité par QuickModels.


Délimiter des zones de traitement : exemples

Balise hors zone de traitement

<!-- {sTexte} -->

Normalement les balises QM sont invisibles pour le visiteur, même celles présentes dans une zone hors traitements, puisqu'elles sont inscrites dans un commentaire Html, ici elle a été rendue visible volontairement afin de bien comprendre l'exemple.

Balise dans une zone de traitement

Non equidem insector delendave carmina Livi esse reor, memini quae plagosum mihi parvo Orbilium dictare; sed emendata videri pulchraque et exactis minimum distantia miror. Inter quae verbum emicuit si forte decorum, et si versus paulo concinnior unus et alter, iniuste totum ducit venditque poema.


Codes sources

(afficher/masquer)Résumé Php-Html

— Php ——————————————————————
$qm->set('sTexte', 'Non equidem insector delendave [...] poema.');

— Html —————————————————————
<h4>Balise hors zone de traitement</h4>
<p><!-- {sTexte} --></p>

<!-- |> -->
<h4>Balise dans une zone de traitement</h4>
<p><!--{sTexte}--></p>
<!-- <| -->

(afficher/masquer)Code Php complet

/*——————————————————————————————*\
QuickModels 1.0 (01-2010)
Exemple 0101 - Php - Utilisation des zones
\*——————————————————————————————*/

/*—————————————————————————*\
Recherche, inclusion et créationn d'un instance QM
\*—————————————————————————*/
// On cherche QuickModels en remontant l'arborescence
list($sQm, $pQm, $sDir, $n) = array('quickmodels.php', '', '', 0);
while (empty($pQm)) {
	if (file_exists($sDir.$sQm)) { $pQm = $sDir.$sQm; }
	$sDir = str_repeat("../", $n++);
}
// Inclusion de QuickModels
include($pQm);
// Creation d'une instance 
$qm = new quickmodels();


/*—————————————————————————*\
Memorisation des variables et valeurs

On utilise la méthode "set()" avec deux arguments :
1. le premier est le nom, ou identifiant, de la variable
2. le second est la valeur à mémoriser puis à afficher

NOTE : il faut entourer les noms et les valeurs avec des 
appostrophes '' ou des guillemets "", si vous avez besoin 
d'un de ces caractères à l'intérieur de la valeur, 
vous devrez le protéger avec un anti-slash \, par ex. \".

IMPORTANT : évitez les caractères spéciaux ou accentués,
ainsi que les espaces et les signes de ponctuation
dans les nom des variables ; autorisés [a-zA-Z0-9_]. 
\*—————————————————————————*/
// Memorisation d'un texte
$qm->set('sTexte', 'Non equidem insector delendave carmina Livi esse reor,
memini quae plagosum mihi parvo Orbilium dictare; sed emendata videri pulchraque
et exactis minimum distantia miror. Inter quae verbum emicuit si forte decorum,
et si versus paulo concinnior unus et alter, iniuste totum ducit venditque
poema.');


/*—————————————————————————*\
Traitement et affichage du modèle Html

On utilise la méthode "get()" avec comme seul argument
le chemin d'acces, relatif ou absolu, du modèle Html
\*—————————————————————————*/
// Chemin relatif du modele Html
$pModel = basename(dirname(__FILE__)).'/index.html';
// Traitement et affichage
echo @$qm->get($pModel, 1); 

// 

(afficher/masquer)Code Html complet


<h3>Délimiter des zones de traitement : exemples</h3>

<h4>Balise hors zone de traitement</h4>
<p>&lt;!-- {sTexte} --&gt;</p>
<p><em>Normalement les balises <strong>QM</strong> sont invisibles pour le
visiteur, même celles présentes dans une zone hors traitements, puisqu'elles
sont inscrites dans un commentaire Html, ici elle a été rendue visible
volontairement afin de bien comprendre l'exemple.</em></p>

<!-- |> -->
<h4>Balise dans une zone de traitement</h4>
<p><!--{sTexte}--></p>
<!-- <| -->

QuickModels - 0.04616 - sico