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
|
/**
* Ta class POST
*/
class Post {
//Attributs
private $_id;
private $_title;
private $_content;
private $_creation_date;
// Un constructeur est appelé automatiquement lors de la création d'un objet grâce au mot clef "new"
public function __construct($title, $content) {
$this->_title = $title;
$this->_content = $content;
}
//SETTERS
public function setTitle($title) {
if(is_string($title)) {
$this->_title = $title;
}
}
public function setContent($content) {
if (is_string($content)) {
$this->_content = $content;
}
}
public function setDate($creation_date) {
$this->_creation_date = $creation_date;
}
//GETTERS
public function getId($id) {
return $this->_id;
}
public function getTitle() {
return $this->_title;
}
public function getContent() {
return $this->_content;
}
public function getDate() {
return $this->_creation_date;
}
}
/**
* INDEX
*/
addNewPost($_POST['title'], $_POST['content']); // Tu passes le contenu de ta variable $_POST à ta fonction addNewPost()
/**
* CONTROLEUR
*/
function addNewPost($title, $content) {
// Ici, tu crées ton objet à partir des données écrites par l'utilisateur transmises par ton index grâce au constructeur de ta classe
$newPost = new Post($title, $content);
$postManager = new PostManager();
// Tu fais appel au manager en passant comme paramètre ton objet $post qui contient les données nécessaires
$postManager->newPost($newPost);
header('Location: index.php?action=listPosts');
}
/**
* MANAGER
*/
public function newPost($newPost) {
// Le paramètre $newPost est donc ton objet POST qui contient un titre et un contenu.
$connexion = new Manager();
$db = $connexion->dbConnect();
$req = $db->prepare('INSERT INTO posts(title, content, creation_date) VALUES(?, ?, NOW())');
// Tu binds les values comme tu le fesais
$req->bindValue(1, $newPost->getTitle(), \PDO::PARAM_STR);
$req->bindValue(2, $newPost->getContent(), \PDO::PARAM_STR);
$req->execute($post);
return $post;
}} |
Partager