2. View

2.1. Création

Les vues doivent être créées dans un répertoire de view qui se trouve dans le dossier src. Voici un exemple : les fichiers add.html, edit.html, get_id.html, index.html et liste.html sont des vues qui seront chargées par le controlleur Test.

Indication

Pour la gestion des liens css ou js, vous pouvez vous inspirer des exemples de codes disponibles.

<html>
    <head>
        <meta charset="UTF-8">
        <title>page d'accueil</title>
        <!--appel de {$url_base} vous permet de recupérer le chemin de votre site web  -->
        <link type="text/css" rel="stylesheet" href="{$url_base}public/css/bootstrap.min.css"/>
        <link type="text/css" rel="stylesheet" href="{$url_base}public/css/samane.css"/>
        <style>
            h1{
                color: #40007d;
            }
        </style>
    </head>
    <body>

Indication

La variable ${url_base} permet la récuperation de la racine de votre projet.

Il suffit tout simplement de préciser cette instruction et le tour est joué. Tous vos fichiers CSS et JS ou bien même images doivent se localiser dans le dossier nommé public à la racine du projet du framework.

2.2. Définition du code des vues

Si une variable vient du controller, vous pouvez l’afficher directement dans la vue. Le moteur de template utilisé dans le framework est Smarty, donc vous devez respecter tout simplement les instructions du moteur.

Exemple

Nous allons afficher une valeur passée en paramètre dans une méthode de notre controller Test au niveau d’une vue.

Code Controller
<?php
    public function getID($id){
        $data['id'] = $id;

        return $this->view('test/getId', $data);
    }
?>
Code de la vue
<h1>Valeur de ID : {$ID}</h1>
Trop Simple Non :)

2.3. Chargement des vues grâce aux modèles d’URL: les URL pattern

Ceci représente un modèle d’URL : localhost/mesProjets/Samane/Post/getID/1. Et la partie la plus importante est : /getID/1.

Indication

C’est à dire le nom du contrôler (Test) puis de la méthode (getID) et d’une valeur (1) dans le cas où la méthode en reçoit. Vous pouvez jeter un coup d’œil sur le code d’en haut.