Bonjour, Je crée un blog en php avec l'architecture MVC + entités.
On retrouve bien la vue, le model, le controller et l'index.
dans le model, j'ai 2 fichiers / 2 classes qui sont:
- PostManager.php
- CommentManager.php
Puis j'ai un dossier "Entity" dans lequel j'ai mes 2 classes Posts et Comment.
Voici l'entité et notamment ma classe Posts
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php class Posts { private $id; private $title; private $content; private $date; /*ID*/ public function getId() { return $this->id; } /*TITLE*/ public function getTitle() { return $this->title; } public function setTitle($title) { $this->title = $title; } /*CONTENT*/ public function getcontent() { return $content->content; } public function setContent($content) { $this->content = $content; } /*CREATION_DATE*/ public function getDate() { return $date->creation_date; } public function setDate($date) { $this->creation_date = $date; } }
et la class PostManager :
Comme vous le voyez dans la fonction getPost($id) je prépare une requête puis l'exécute en tentant de récupérer un objet (la classe Post qui est dans Entity) avec fetchObject()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php require_once('model/Manager.php'); class PostManager { public function getPosts() { $connexion = new Manager(); $db = $connexion->dbConnect(); $posts = $db->query('SELECT id, title, content, DATE_FORMAT(creation_date, \'%d/%m/%Y à %Hh%imin%ss\') AS creation_date_fr FROM posts ORDER BY creation_date DESC'); return $posts; } public function getPost($id) { $connexion = new Manager(); $db = $connexion->dbConnect(); $req = $db->prepare('SELECT id, title, content, DATE_FORMAT(creation_date, \'%d/%m/%Y à %Hh%imin%ss\') AS creation_date_fr FROM posts WHERE id = ?'); $req->bindValue(1, $id, \PDO::PARAM_INT); $req->execute(array($id)); $post = $req->fetchObject(__DIR__.'\Entity\Posts'); if($post) { return $post; } //$req->execute(array($id)); //return $req;
Mais l'erreur me dit que la class dans /Entity/Posts est NOT FOUND. Je ne comprends pas, car mon fichier PostManager.php (là où j'écris ma fonction) est au même niveau que Entity.
En gros mes dossiers sont comme ça :
->Model
->->PostManager.php
->->Entity
->->->->Posts.php
->->->->Comment.php
->->model
->->->->Manager.php
Pourquoi je n'arrive pas à cibler le fichier voulu ?
Merci pour vos réponses
Partager