Bonsoir a tous,
Je suis en train de développer une application PHP selon le modèle MVC. Je me pose la question si l'architecture de mon application est bien correcte. Voici un exemple de mes différents fichiers :
Voici le code pour le le model de donnée (acces à la BD) :
Le code pour le modèle de classe (objet métier) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class UserModel{ public function saveUser($user) { $pdo = new PDO("mysql:host=localhost;dbname=******",'*****','******'); $name = $user->getName(); $lastname = $user->getLastname(); $query = "INSERT INTO users (USE_name,USE_lastname) VALUES ('".$name."','".$lastname."')"; $user = $pdo->exec($query); } }
le code pour le controleur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class User { private $name; private $lastname; ###Fonction getter et setter### }
En ce qui concerne la vue associée, c'est tout simplement un formulaire HTML, me retournant par POST les données "prenom" et "nom".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class UserController{ public function saveUser() { $user = new User(); $user->setName($_POST['name']); $user->setLastname($_POST['lastname']); $user_model = new UserModel(); $user_model->saveUser($user); } }
Est ce que le fait de créer des objets métier (User) dans le contrôleur est il une méthode correcte au niveau MVC ? Ou est ce que ceci doit uniquement être fait au sein de la partie modèle ?
De plus avec une méthode comme celle-ci, j'utilise mes objets au sein de la vue, par exemple dans une vue pour afficher un utilisateur, j'ecrirais : $user->getName(). Faut-il pas utilisé des variables simple ou des tableaux ?
C'est la première fois que je développe une application en orienté Objet en suivi le modèle MVC, je codais encore de manière procédural il y a encore peu de temps. J avoue je suis un peu perdu, et j espère que vos explications m'éclaireront sur le sujet.
Merci pour votre aide
Partager