Bonjour/ bonsoir,

Sans intégrer un modèle MVC pour l'instant, j'essaye de m'en rapprocher en séparant les couches. j'ai donc 3 fichiers:
Un premier fichier, qui sera visible par le navigateur et que je pourrai appeler 'vue'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
require '../controller/controllerProd.php';
// affichage d'une liste de produits
if (!empty ($_GET['production'])) {
    $controlProd->setListe($_GET['production']);
}
?>
...
<div id="content-data">
  <table width="100%" border="0" cellpadding="0" cellspacing="0" id="liste-fiches">
...
Un second fichier, qui pourrait être considéré comme un 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
require '../core/connect.php';
require '../model/ModelProduction.php';
 
class ControllerProd {
 
    var $modelProduction;
 
    function __construct() {
// Initialise l'objet modelProduction
        $this->modelProduction = new ModelProduction($PDO); //$PDO est contenu dans le fichier 'connect.php'
    }
 
    /**
     * setListe traite la variable et la donne à getListe
     */
    function setListe($setlabo) {
        $setlabo = !empty ($setlabo) ? filter_var($setlabo, FILTER_SANITIZE_STRING) : NULL;
        $this->modelProduction->getListe($setlabo);
    }
}
 
$controlProd = new ControllerProd();
Et enfin le 3ème fichier, qui va effectuer tout ce qui ressort de mysql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
class ModelProduction{
 
    private $db;
 
    function __construct($db) {
        $this->db = $db;
    }
 
    function getListe($getLabo){
        //requête pour récupérer une liste de produit en fonction de la variable $_GET
    }
}
Mais le serveur ne reconnait pas l'objet $PDO :
Notice: Undefined variable: PDO in C:\wamp\www\integration\controller\controllerProd.php
Pourquoi ?
Merci,