par
JeanMi89 » 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
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
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]<?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]
Ma classe Centre.php
[code]<?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]
et ma vue
[code]<?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'));[/code]
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