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:
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 controllerCode:
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:
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:
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 svpCitation:
Fatal error: Call to undefined function add() in C:\wamp\www\MVC_FORM\view\liste.php on line 5
Meric beaucoup