Page 1 sur 1

Php Mvc et poo

Posté : 23 mai 2015, 17:23
par JeanMi89
Bonjour,

J'ai un petit projet que je suis entrain de mettre en place ,
Alors j'ai une page qui affiche 3 centres , j'utilise twig et j'ai fait mon site en MVC.
J'ai créer une bdd avec ces 3 centres.
J'aimerais afficher ces 3 centres mais en utilisant une classe.
Je n'ais jamais utilisé twig et le la poo ensemble.


Pour le moment voici mon code
center.php

Code : Tout sélectionner

<?php require_once 'vendor/autoload.php'; require_once '/inc/Centre.php'; $loader = new Twig_Loader_Filesystem('templates');// Dossier contenant les templates $twig = new Twig_Environment($loader, array('cache' => false)); $centre = new Centre(); echo $centre->getCentre(); echo $twig->render('center.twig', array('titre' => 'Nom du centre','header' => 'Marques 1'));
Ma classe Centre.php

Code : Tout sélectionner

<?php require_once 'CentreCollection.php'; class Centre{ private $centre_id; private $centre_nom; private $centre_adresse; private $centre_description; //un constructeur public function Centre($id, $nom, $adresse, $description) { $this->centre_id = $id; $this->centre_nom = $nom; $this->centre_adresse = $adresse; $this->centre_description = $description; } public function loadCentres() { //Ma requete try { $bdd = new PDO('mysql:host=localhost;dbname=tsine', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); echo " ERREUR"; } $req = $bdd->query('SELECT * FROM centre '); //Instancies une collection ou un tableau $collec $collec = new CentreCollection; //pour chaque résultat while($data = $req->fetch()) { //Construis un objet Centre grace au constructeur $centre = new Centre($data['val1'], $data['val2'], $data['val3'], $data['val4']); //objet, on lajoutes a la collection $collect->add($centre); } //enfin retourne la collection de centres return $collec; } //getters public function getId() { return $this->id; } public function getNom() { return $this->nom; } public function getAdresse() { return $this->adresse; } public function getDescription() { return $this->description; } }
et ma vue

Code : Tout sélectionner

<?php if (empty($_GET['centre_id'])) { die('aucun centre'); } require_once 'vendor/autoload.php'; require_once '/inc/Centre.php'; $loader = new Twig_Loader_Filesystem('templates');// Dossier contenant les templates $twig = new Twig_Environment($loader, array('cache' => false));$centre = new Centre() echo $twig->render('center.twig', array('titre' => 'Nom du centre','header' => 'Marques 1'));
Le problème c'est que je crois que ma réquete ne marche pas , et je ne vois pas comment récuperer dynamiquement les infos de ma bdd

Re: Php Mvc et poo

Posté : 28 mai 2015, 11:07
par Gregory
Bonjour,


Tout d'abord, dans ta classe Centre tu devrais passer ta connexion à la base de données dans le constructeur, qui d'ailleurs ne se nomme pas Centre comme en java mais __construct.

Ensuite la construction de ton MVC n'est pas correct, pour cela je te conseille de regarder ici
http://www.grafikart.fr/tutoriels/php/m ... er-php-132
http://openclassrooms.com/courses/adopt ... modele-mvc

et surtout de bien comprendre le principe de la programmation orienté objet.

Bon courage pour la suite de ton projet

Gregory