IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Initiation aux templates en PHP avec Smarty


précédentsommairesuivant

II. Retour sur les métastructures

La maîtrise des tableaux (initialisation et accès aux valeurs) me paraît un prérequis indispensable pour utiliser Smarty dans de bonnes conditions.

II-A. Les tableaux

Nous allons revoir les deux principaux types de tableaux que l'on utilise en PHP : les tableaux indexés et les tableaux associatifs (paire clé/valeur).

II-A-1. Les tableaux indexés

L'utilisation la plus simple, à chaque valeur ajoutée au tableau est attribué un index que l'on utilisera pour accéder à la valeur.

 
Sélectionnez
$aMonTableauIndexe = array('Sylvain', 'Jean-Luc', 'Jean', 'Eric');
 
echo $aMonTableauIndexe[2]; // affiche 'Jean'

II-A-2. Les tableaux associatifs

Pour ce qui est des tableaux associatifs, la syntaxe est quelque peu différente puisque l'on doit associer à chaque clé une valeur.

 
Sélectionnez
$aMonTableauAsscoiatif = array(
    'Jean-Luc' => 'Michel',
    'Jean' => 'Peyroux',
    'Eric' => 'Pommereau',
    'Sylvain' => 'James'        
);
 
echo $aMonTableauAsscoiatif['Jean']; // Affiche 'Peyroux'

II-B. Les objets (syntaxe PHP5)

Voici un petit exemple d'une classe représentant une personne.
Nous allons voir, dans un premier temps, la définition de la classe, puis son utilisation.
À la fin du script, j'utilise la fonction print_r($objet) pour afficher le contenu de l'objet.

 
Sélectionnez
class personne 
{
    public $nom = "";    
    public $prenom = "";
    public $aInfos = array();
 
    public function __construct($sNom, $sPrenom) {
        $this->nom = $sNom;
        $this->prenom = $sPrenom;
    }
 
    public function add_info($sInfo) {
        array_push($this->aInfos, $sInfo);
    }
 
}
 
$oPersonne = new personne('POMMEREAU', 'Eric');
$oPersonne->add_info('Fixe: 01.53.71.29.14');
$oPersonne->add_info('Adresse: 122, rue du Château des Rentiers 75013 PARIS');
$oPersonne->add_info('Date de naissance: 23/11/1973');
 
printf(
    '<pre>%s</pre>', 
    print_r($oPersonne, 1)
);
 
/* AFFICHE **********************************    
personne Object
(
    [nom] => POMMEREAU
    [prenom] => Eric
    [aInfos] => Array
        (
            [0] => Fixe: 01.53.71.29.14
            [1] => Adresse: 122, rue du Château des Rentiers 75013 PARIS
            [2] => Date de naissance: 23/11/1973
        )
 
)    
*/

II-C. Les fichiers xml (avex SimpleXml)

La bibliothèque SimpleXML porte très bien son nom. Grâce à SimpleXML vous allez charger un fichier XML (provenant d'une chaîne de caractères ou d'un fichier) et accéder à ses valeurs en deux coups de cuillères à pot. Dans notre exemple nous allons charger un fichier XML et montrer comment accéder à une valeur de ce fichier.

personnes.xml
Sélectionnez
<?xml version="1.0" encoding="iso-8859-1"?>
<personnes>
    <personne>
        <nom>POMMEREAU</nom>
        <prenom>ERIC</prenom>
    </personne>
    <personne>
           <nom>JAMES</nom>
           <prenom>Sylvain</prenom>
    </personne>
    <personne>
           <nom>MICHEL</nom>
           <prenom>Jean-Luc</prenom>
    </personne>       
</personnes>

Maintenant le fichier PHP que l'on utilise pour accéder à la valeur du fichier XML par l'intermédiaire de la bibliothèque SimpleXML :

Le fichier PHP
Sélectionnez
<?php
   $oFichierXml = simplexml_load_file('personnes.xml');
 
   // Lecture et affichage du nom ***************
   echo $oFichierXml->personne[0]->nom; // Affiche: 'POMMEREAU'
?>

précédentsommairesuivant

Copyright © 2008 Eric POMMEREAU. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.