VI. Annexe▲
VI-A. Structure de la classe (code PHP)▲
template.php
Sélectionnez
<?php
class
Template {
private
$page
;
// Code source HTML de la page - fichier.tpl
private
$infoTpl
=
array
();
// Tableau des constantes => données
/**
* Vérifie l'existence du fichier
*/
function
__construct
($file
) {
}
/**
* Enregistre les constantes dans $infoTpl
* infoTpl[.][][constant] = data;
*/
function
simpleVar($varArray
=
array
()) {
}
/**
* Enregistre les constantes dans $infoTpl
* infoTpl[type][lastID][constant] = data;
*
* - type = nom du bloc contenant la boucle
* - lastID = ID du tableau où se trouve le script
*/
function
loopVar($type
,
$varArray
=
array
()) {
}
/**
* Remplace les constantes par leurs données
*/
function
constantReplace() {
}
/**
* Retourne le code HTML parser
*/
function
parse() {
}
}
?>
VI-B. Structure avancée de la classe▲
Explication du schéma :
- __construct() se lance automatiquement à l'instanciation de la classe ;
- Teste si le fichier passé en argument existe et est ouvert en lecture ;
- Mise du code source HTML du fichier template dans $page ;
- Récupération des constantes/données de test.php ;
- Traitement avec simpleVar() ou loopVar() selon les besoins ;
- Mise des constantes/données traitées dans $infoTpl ;
- Parse le code avec parse() ;
- parse() fait appel à constantReplace() ;
- constantReplace() remplace les constantes par leurs données.
VI-C. Structure du tableau $InfoTpl▲
Le tableau $infoTpl sera de cette forme : Note : le texte entre accolades représente le nom des variables que j'utilise dans mon code :
$infoTpl
Sélectionnez
{
$infoTpl
}
Array
(
{
$type
}
[.]
=>
Array
(
{
$info
[
$i
]}
[
0
]
=>
Array
(
{
$constant
=>
$data
}
[
WELCOME_MSG]
=>
Bonjour !!
)
[
1
]
=>
Array
(
[
GOODBYE]
=>
Aurevoir !!
)
)
[
country]
=>
Array
(
[
0
]
=>
Array
(
[
ID]
=>
BE
[
COUNTRY]
=>
Belgique
)
[
1
]
=>
Array
(
[
ID]
=>
FR
[
COUNTRY]
=>
France
)
[
2
]
=>
Array
(
[
ID]
=>
ITA
[
COUNTRY]
=>
Italie
)
)
)