Php Mvc et poo
Posté : 23 mai 2015, 17:23
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
Ma classe Centre.php
et ma vue
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
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'));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;
}
}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'));