Skip to content
Extraits de code Groupes Projets
Valider 2088770d rédigé par vbochet's avatar vbochet
Parcourir les fichiers

Création de fichiers et répertoires pour la page d'affichage de profils (page d'exemple MVC)

parent 7044e033
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion!21Merge de Dev dans Master,!1Merge de dev-nestor sur dev
<?php
class ProfilController extends Controller { // classe de contrôleur pour l'affichage des profils
public function display() {
$slug = $this->route["params"]["slug"]; // on récupère le "slug", en gros tout le reste de l'URL qui n'a pas encore servi
$this->view->profil = Profil::getFromSlug($slug); // on utilise le modèle pour aller chercher en BDD le profil qui nous intéresse
$this->view->display(); // on affiche ce profil
}
}
<?php
class Profil extends Model { // classe de modèle pour l'affichage de profils
public $pseudo, $slug; // on définit les attributs de la classe
public static function getFromSlug($slug) { // méthode permettant de récupérer les informations relatives à un profil donné de la BDD
$db = Database::getInstance(); // on récupère la connexion à la BDD
$sql = "SELECT * FROM profils WHERE slug = :slug"; // on définit la requête qu'on enverra
$req = $db->prepare($sql); // on prépare la requête (c'est là que la mémthode __call() est utile dans la classe Database d'ailleurs)
$req->setFetchMode(PDO::FETCH_CLASS, "Profil"); // règle le mode de parcours des résultats
$req->execute(array(":slug" => $slug)); // on remplace le "::slug" par sa valeur dans la requête
return $req->fetch(); // on retourne le premier (et normalement unique) résultat en BDD
}
public static function getList() { // méthode permettant de récupérer la liste des profils de la BDD
$db = Database::getInstance(); // idem à au-dessus
$sql = "SELECT * FROM profils";
$req = $db->query($sql);
$req->setFetchMode(PDO::FETCH_CLASS, "Profil");
return $req->fetchAll();
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>Exemple de profil</title>
<base href="http://localhost/projet-web-2016/www/"/>
</head>
<body>
<header>
<h1>Affichage d'un profil</h1>
</header>
<h2>Voici le profil de quelqu'un</h2>
<h3>Il s'agit du profil de <?php echo $this->profil->pseudo; ?></h3>
<p>Et on dit "Bonjour <?php echo $this->profil->pseudo; ?> ! :o)</p>
<p>Il a été appelé avec le slug : <?php echo $this->profil->slug; ?></p>
<footer>
<p>Le pied de page</p>
</footer>
</body>
</html>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter