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

Initiation aux templates en PHP avec Smarty

Initiation aux templates en PHP avec Smarty


précédentsommairesuivant

II. Retour sur les métas-structures

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 tableau que l'on utilise en PHP: les tableaux indexés et les tableaux associatifs (paire clé/valeur).

II-A-1. Les tableaux indexes

L'utilisation la plus simple, à chaque valeur ajoutée au tableau est attribuée 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 tableau 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.
A 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 librairie 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 librairie 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.