1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
<?php
class Breve
{
//attributs
private $_id;
private $_text;
private $_dt_creation;
public function __construct(array $data)
{
$this->setId($data['id']);
$this->setText($data['text']);
$this->setDt_creation($data['dt_creation']);
}
//setter
public function setId($id){
if((is_int($id)) AND ($id >0))
{//affecte à $_id a valeur $id passé en argument
$this->_id = $id;
}
}
public function setText($text){
if (is_string($text))
{// affecte à $_text la valeur $text passé en argument
$this->_text = $text;
}
}
public function setDt_creation($dt_creation){
list($y,$m,$d) = explode("-", $dt_creation);
if(checkdate($m, $d, $y))
{
// affecte à $_dt_creation la valeur $text passé en argument
$this->_db_creation = $dt_creation;
}
}
//getter
public function getId(){
//permet de récupérer la valeur de l'attribut $_id
return $this->_id;
}
public function getText(){
//permet de récupérer la valeur de l'attribut $_text
return $this->_text;
}
public function getDt_creation(){
//permet de récupérer la valeur de l'attribut $_id
return $this->_dt_creation;
}
}
class breveManager
{
private $_db; // Instance de PDO
public function __construct($db){
$this->setDb($db);
}
public function setDb(PDO $dbh) // Un objet PDO est attendu
{
$this->_db=$dbh;
}
//insertion
public function addBreve(Breve $breve)// Un objet Breve est attendu
{
$sql = 'INSERT INTO breve (text, dt_creation) VALUES (:text, :dt_creation)';
$stmnt = $this->_db->prepare($sql);
$stmnt->bindParam(':text', htmlspecialchars($breve->getText()));
$stmnt->bindParam(':dt_creation',htmlspecialchars($breve->getDt_creation()));
$stmnt->execute();
}
}
//création d'un objet breve
$values = array('id' => 1, 'text' => 'contenu de la brève', 'dt_creation' => '2013-11-14');
$breve = new Breve($values);
//affectation de la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=dbpost','root','');
//instanciation de la classe breveManager, nous créons un objet manager
//La connexion PDO est passé en paramêtre au constructeur.
$manager = new breveManager($db);
//appel de la méthode addBreve, nous passons un objet breve en argument.
$manager->addBreve($breve);
//le manager a ajouté la nouvelle breve, à vérifier dans la base de donnée
/* |