Commit d0b21185 authored by Julien Ait azzouzene's avatar Julien Ait azzouzene
Browse files

♻️ refactor: création arborescence MVC

parent f294f795
Loading
Loading
Loading
Loading

index.php

0 → 100644
+29 −0
Original line number Diff line number Diff line
<?php
// L'index.php joue le rôle de routeur. 
// C'est lui qui redirige l'utilisateur vers les différentes pages en analysant l'URL.
// Ici, on choisit la page en fonction d'une valeur dans le $_GET.
// (on peut pas trop faire autrement sans toucher au serveur Apache...)

// Le retour se chargera aussi de gérer les exceptions avec un try / catch

require_once 'src/controllers/accueil.php';

try{
    // Si 'action' n'est pas défini, on charge la page d'accueil
    if(! isset($_GET['action']) || empty($_GET['action'])){
        pageAccueil(3);
        return;
    }

    // On teste les différentes valeurs possible de 'action'
    // Si ça ne correspond à aucune page, on renvoie vers la page d'erreur
    // (pour l'instant on a pas d'autre page, donc on retourne forcément une erreur)
    switch($_GET['action']){
        default:
            throw new Exception("la page demandée n'a pas été trouvée");
    }
}
catch(Exception $e){
    $messageErreur = $e->getMessage();
    require 'templates/erreur.php';
} 
 No newline at end of file
+8 −0
Original line number Diff line number Diff line
<?php

// Ceci est un contrôleur, il se charge de récupérer les données depuis le modèle pour les fournir à la vue (en gros).
// C'est également des contrôleurs qu'on utilise pour valider les formulaires.

function pageAccueil($nb){
    require 'templates/accueil.php';
}
 No newline at end of file

src/model/model.php

0 → 100644
+8 −0
Original line number Diff line number Diff line
<?php

// Un modèle se charge du CRUD (Create Read Update Delete).

// On mettra ici des classes pour représenter les données (entités)
// et des classes qui se charge des requêtes SQL (les Manager)

// Ici il y a rien car on a pas encore de données...
 No newline at end of file

templates/accueil.php

0 → 100644
+28 −0
Original line number Diff line number Diff line
<?php
// Ceci est une vue bidon
// Une vue se contente de récupérer les variables qu'on lui donne est de formatter la page html

// Le code HTML sera placé en énorme majorité dans les vues et le layout

$titre = 'Page bidon';

// ob_start crée un buffer qui va récupérer tout ce qui est censé être affiché (echo + HTML) 
ob_start();
?>

<h1>Ceci est un page bidon</h1>

<?php for($i = 0; $i < $nb; $i++) { ?>

<p>
    Lorem ipsum dolor sit amet consectetur adipisicing elit. Dignissimos maiores tempore dolore obcaecati ea, exercitationem, harum commodi aut laudantium nobis culpa sequi. Dolores optio assumenda quidem earum. Velit, in? Eos.
</p>

<?php
}

// On peut récupérer le contenu du buffer comme ça :
$contenu = ob_get_clean();

// On inclut le layout pour afficher notre belle page
require 'templates/layout.php';
 No newline at end of file

templates/erreur.php

0 → 100644
+20 −0
Original line number Diff line number Diff line
<?php 

// Cette vue affiche simplement une erreur avec son message.
// (pour plus d'information sur les vues, voir accueil.php)

$titre = 'Erreur survenue';

ob_start();

?>

<h2 style="color:red">Une erreur est survenue pendant le chargement de la page.</h2>

<p>Raison <strong><?=$messageErreur?></strong></p>

<?php

$contenu = ob_get_clean();

require 'templates/layout.php';
 No newline at end of file
Loading