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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
| PHP
<?php
class Breve {
//attributs
private $id;
private $text;
private $dt_creation;
//setter
public function setId($id) {
// affecte à $_id a valeur $id passee en argument $this-> _id = $id;
if((is_int($id)) AND ($id > 0)) {
$this->_id = $id;
}
}
public function setText($text) {
// affecte à $_text a valeur $text passee en argument $this-> _text = $text;
if(is_string($text)) {
$this->_text = $text;
}
}
public function setDt_creation($dt_creation) {
// affecte à $_dt_creation a valeur $dt_creation passee en argument $this-> _$dt_creation = $dt_creation;
list($y, $m, $d)=explode("-", $dt_creation);
if(checkdate ($m, $d, $y)) {
$this->_dt_creation = $dt_creation;
}
}
public function getId() {
// permet de récuperer valeur de l'attribut $_id return $this-> _id;
}
public function getText() {
// permet de récuperer valeur de l'attribut $_text return $this-> _text;
}
public function getDt_creation() {
// permet de récuperer valeur de l'attribut $_dt_creation return $this-> _dt_creation;
}
public function _construct(array $data) {
$this->setId($data['id']);
$this->settext($data['text']);
$this->setDt_creation($data['dt_creation']);
}
}
$breve = new Breve();
$breve->setId(1);
$breve->setText('contenu de la breve');
$breve->setDt_creation('2010-11-14');
echo $breve->getId();
echo $breve->getText();
echo $breve->getDt_creation();
$values = array('id'=> 1, 'text' => 'contenu de la breve', 'dt_creation' =>'2010-11-14');
$breve = new Breve($values);
echo $breve->getId();
echo $breve->getText();
echo $breve->getDt_creation();
class breveManager {
private $_db;
public function __construct($db) {
$this->setDb($db);
}
public function setDb(PdO $dbh){
$this->_db= $dbh;
}
//insertion
public function addBreve (Breve $breve) {
$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', $breve->getDt_creation());
$stmnt->execute();
}
public function getBreve ($id = '') {
if(empty($id)) // Toute les bréves
{
$sql = 'SELECT id, text, dt_creation FROM breve';
$smnt=$this->_db->prepare($sql);
}
elseif (is_numeric($id)) //une breve identifié par son id
{
$sql = 'SELECT id, text, dt_creation FROM breve WHERE id = :id';
$stmnt=$this->_db->prepare($sql);
$smnt->bindParam(':id', $id);
}
$stmnt->execute();
while ($row = $stmnt->fetch(PDO::FETCH_ASSOC))
{
$result[] = $row;
}
return $result;
}
public function updateBreve (Breve $breve) /// object breve attendu
{
$sql = 'UPDATE breve SET text= :text, dt_creation = :dt_creation WHERE id = :id';
$stmnt=$this->_db->prepare($sql);
$stmnt->bindParam(':id', $breve->getId());
$stmnt->bindParam(':text', $breve->getText());
$stmnt->bindParam(':dt_creation', $breve->getDt_creation());
$stmnt->execute();
}
public function deleteBreve ($id) {
$sql= 'DELETE FROM breve WHERE id= :id';
$stmnt=$this->_db->prepare($sql);
$stmnt->bindParam(':id',$id);
$stmnt->execute();
$count = $stmnt-rowCount();
return $count;
}
}
// creation d'un objet breve
$breve_data = array('id' => 1, 'text' => 'Texte pour le contenu', 'dt_creation' => '2013-10-14' );
$breve = new Breve($breve_data);
// affectation dans la variable $db de la connexion PDO
$db = new PDO('mysql:host=localhost;dbname=dbpost', 'root', '');
//instanciation de la class brevManager, nous créon un objet manager
// La connection PDO est passée en parametre au constructeur.
$manager = new breveManager($db);
//apel de la methode addbreve, nous passons un objet breve en argument.
$manager->addBreve($breve);
// Le manager a ajouté la nouvelle breve, à verifier dasn la base de donnée.
//$manager->deleteBreve(1);
// Le manager à supprimer la breve ligne 1
$breves = $manager->getBreve();
var_dump($breves)
?> |
Partager