Bonjour,
Débutant en PHP, je suis entrain de transpirer sur cet excellent TP.
J'ai une question lorsque l'auteur bascule son MVC en objet, et plus particulièrement la création d'une classe vue dont voici le script pour rappel :
Ma question porte sur la fonction extract(). Un coup d'oeil sur la doc m'a fait comprendre que cette fonction crée des variables à partir des indexs d'un tableau associatif, mais du coup je ne comprends pas son usage dans le premier appel de la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 class Vue { // Nom du fichier associé à la vue private $fichier; // Titre de la vue (défini dans le fichier vue) private $titre; public function __construct($action) { // Détermination du nom du fichier vue à partir de l'action $this->fichier = "Vue/vue" . $action . ".php"; } // Génère et affiche la vue public function generer($donnees) { // Génération de la partie spécifique de la vue $contenu = $this->genererFichier($this->fichier, $donnees); // Génération du gabarit commun utilisant la partie spécifique $vue = $this->genererFichier('Vue/gabarit.php', array('titre' => $this->titre, 'contenu' => $contenu)); // Renvoi de la vue au navigateur echo $vue; } // Génère un fichier vue et renvoie le résultat produit private function genererFichier($fichier, $donnees) { if (file_exists($fichier)) { // Rend les éléments du tableau $donnees accessibles dans la vue extract($donnees); // Démarrage de la temporisation de sortie ob_start(); // Inclut le fichier vue // Son résultat est placé dans le tampon de sortie require $fichier; // Arrêt de la temporisation et renvoi du tampon de sortie return ob_get_clean(); } else { throw new Exception("Fichier '$fichier' introuvable"); } } }
genererFichier(). Car si je comprends bien, elle doit créer des variables dans la partie spécifique de chaque fichier vue. Mais quelles sont ces variables justement ?
Cordialement Olivier
Partager