CodeIgniter
La vue avec CodeIgniter
Le rôle de la vue
Rappel : La vue est ce qui permet d'afficher les données du modèle.
De manière générale avec PHP et CodeIgniter, les vues sont représentées par des pages internet (scripts PHP et HTML). Le fait d'utiliser CodeIgniter
ajoute des fonctionnalités supplémentaires.
Création d'une vue
Pour créer une vue avec CodeIgniter, il suffit de créer un script PHP ou HTML, qui affiche les données souhaitées, dans le dossier system/application/views.
Il n'y a pas de conventions particulières.
Exemple : On crée une page simple affichant un message de bienvenue (nom du fichier : bonjour.php).
<html> <body> Bienvenue ! </body> </html>
Chargement d'une vue
Avec CodeIgniter, les vues se chargent depuis un contrôleur. Il suffit d'appeler la fonction $this->load->view() depuis une fonction d'un contrôleur.
Cette fonction prend en paramètre le nom du fichier contenant la vue.
Si on reprend le FakeController de la partie contrôleur, nous pouvons modifier la fonction index() pour que celle-ci n'affiche plus un message
mais pour qu'elle charge la vue créée ci-dessus (bonjour.php).
<?php
class FakeController extends Controller{
function index(){
$this->load->view("vue");
}
}
?>
La fonction va charger le fichier vue.php se trouvant dans le répertoire system/application/views. Nous remarquons ici que lorsque nous chargeons la vue, nous ne sommes pas obligés d'ajouter l'extension .php.
Il est possible de passer un deuxième paramètre à la fonction $this->load->view() : ce deuxième paramètre représente un tableau associatif contenant des variables et leur valeur respective que l'on pourra utiliser dans le script PHP représentant la vue.
Exemple : En modifiant le FakeController ci-dessus ainsi que la vue bonjour.php, on peut ajouter le nom et le prénom d'une personne.
Fichier fakecontroller.php :
<?php
class FakeController extends Controller{
function index(){
$array["prenom"] = "Aravindan";
$array["nom"] = "Mahendran";
$this->load->view("vue", $array);
}
}
?>
Fichier bonjour.php :
<html>
<body>
Bienvenue <?php echo "$prenom $nom " ?>!
</body>
</html>
La vue chargée affichera "Bienvenue Aravindan Mahendran !". Dans cet exemple, nous avons passé en paramètre des chaînes de caractère mais il est tout
à fait possible de récupérer d'autres types de données comme des résultats de requêtes SQL et de les afficher dans la vue.