Page 1 sur 1

MVC :Problem dans la classe Model

Posté : 29 mai 2016, 16:31
par abdes
Bonjour à tous,

je suis entrain mtn de creer mon prorpe MVC
J'ai commencé à créer ma classe UserModel qui herite de la classe Model
dans la classe Model je veux créer une fonction qui permet d'inserer les donnes dans la BDD InsertData() et cette fonction doit être appelé ds la class UserModel
le problem je veux preciser les donnes et les champs a inserer depuis la classe UserModel et passer ces donnes a la fonction InsertData ()
comment je peux le faire???

Model.php:
<?php

   class model
   {
   	      private $database;

   	      public function getPdo(){

            if ($this->database===null) {
            	$pdo=new pdo('mysql:host=localhost;dbname=pronostic','root','');
                $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
            }
            return $this->database=$pdo;
   	      }

   	      public function InsertData($table,$dato){
            $datas = array(
            		          'usero' => $dato['username'],
            		          'usero' => $dato['password']
            		           );
            	$req="INSERT INTO $table(user,pass) VALUES(:usero,:usero)";
            	$sql=$this->getPdo()->prepare($req);
            	$sql->execute($datas);
   	      } 
   	
   }
UserModel.php:
<?php
        class UserModel extends model
        {
        	            
            function isnertUser($dataa){
            	$model = new model();
            	$resulto=$model->insert('users',$dataa);
            }            
        }
UserController:
<?php

        class UserControllerextends controller
        {
            private $ModelUser;
            function __construct(){

                $this->LoadModel('UserModel');
                $this->ModelUser=new UserModel();
            }
        	
        	function index(){   
               $this->LoadView('show');
              }

            function add(){

                $tab = array(
                    'username' => "Jean",
                    'password' => "qwertz1234",
                     );
                $result=$this->ModelUser->isnertUser($tab); 
               echo "Bien ajoouter";
            }

                
        }

Re: MVC :Problem dans la classe Model

Posté : 30 mai 2016, 09:18
par Ryle
Bonjour,

Les classes filles héritent des méthodes de leur classe mère. Ainsi le simple fait de définir l'héritage (extends model) sur ta classe UserModel permet à chaque instance de celle-ci de disposer de la méthode InsertData($table,$dato) définie dans la classe parente.

Dans ta classe $this fait référence à l'instance courante. Si dans ta classe fille UserModel tu fais un new model(), alors c'est une nouvelle instance de la classe mère que tu obtiens, totalement distincte de l'instance courante de ta classe fille.

Fais attention également, car tu as de nombreuses coquilles dans ton code (ex : isnertUser ; UserControllerextends controller) qui risquent de te poser problème...

Re: MVC :Problem dans la classe Model

Posté : 30 mai 2016, 10:33
par @rthur
Modération :
Afin d'obtenir plus de réponses, le sujet a été déplacé dans un forum plus approprié.