Bonjour tout le monde, je poste une nouvelle discussion car j'ai besoin de vous.
Je voudrais mettre en place un système de formulaire mais avec le pattern MVC le tout en PHP.
ma classe singleton
voici ma classe Article (modele)
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
42
43
44
45 <?php /** * Classe MySqlConnection : singleton */ class Singleton { private static $instance; const DEFAULT_SQL_USER = 'root'; const DEFAULT_SQL_PORT = '3306'; const DEFAULT_SQL_HOST = 'localhost'; const DEFAULT_SQL_PASS = ''; const DEFAULT_SQL_DTB = 'test'; private function __construct() { try { $this->PDOInstance = new PDO('mysql:host='.self::DEFAULT_SQL_HOST.';port='.self::DEFAULT_SQL_PORT.';dbname='.self::DEFAULT_SQL_DTB,self::DEFAULT_SQL_USER ,self::DEFAULT_SQL_PASS,array (PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'')); } catch (PDOExeption $e) { die("Erreur ! Connection serveur SQL impossible !" ); } } public static function getInstance() { if(!isset(self::$instance) || self::$instance == null) { self::$instance = new Singleton(); } return self::$instance; } public function prepare($query) { return $this->PDOInstance->prepare($query); } public function query($query) { return $this->PDOInstance->query($query); } } ?>
Voici mon controller
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 <?php class Article{ private $id; private $titre; function __construct($titre=null, $id=null) { $this->id = $id; $this->titre = $titre; } public function getId() { return $this->id; } public function setId($id) { $this->id = $id; } public function getTitre() { return $this->titre; } public function setTitre($titre) { $this->titre = $titre; } } ?>
Et ma vue :
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 <?php require_once 'class.singleton.php'; require '../model/class.article.php'; class ManageArticle{ public static function add(Article $article) { $connexion = Singleton::getInstance(); $sql =$connexion->prepare("insert into article(`titre`) VALUES ('".$article->getTitre()."')"); $sql->execute(); $article->setId($connexion->insert_id()); return true; } public static function getAll() { $connexion = Singleton::getInstance(); $ress = $connexion->prepare("select * from article"); $ress->execute(); $listArticle = array(); foreach ($ress as $value) { $listArticle[] = new Article($data['titre'],$data['id_article']); } return $listArticle; } } ?>
Lorsque j'execute le programme j'ai le message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php require_once"../controller/control.article.php"; $ajout = new ManageArticle(); add($ajout); $fonction = ManageArticle::getAll(); echo "<pre>";print_r($ajout); echo "<pre>";print_r($fonction);die; ?>
Pouvez-vous m'aider svpFatal error: Call to undefined function add() in C:\wamp\www\MVC_FORM\view\liste.php on line 5
Meric beaucoup
Partager