IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

php 5 et architecture MVC


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 113
    Points
    113
    Par défaut php 5 et architecture MVC
    bonjour , j ai vraiment besoin de votre aide voici ce que je veux faire:
    je veux développer une application en utilisant le framwork mvc, mon probleme est que je suis debutant et je ne comprend pas bien le mvc:
    je veux creer un formulaire pour inserer des données dans ma base de données:
    voici comment j ai proceder en utilisant le mvc:

    mon formaulaire

    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
     
      //////////   ma  vue  /////////////////////////////:
     
      <div    align="center" > 
               <form action="index.php?module=adduser&action=adduser"  method="post" enctype="multipart/form-data">
     
                         <fieldset id="addusers">
                      <ul>       
                          <li> 
                             <p class="adduser" align="center"> Add User</p>
                         </li>
                     <li>
                    <label> Login :</label>
                    <input type="text"  name="login" placeholder="Entrez un pseudo" required="required" />
                    </li>
                    <li>
                    <label> Password :</label>
                    <input type="password"  name="Password" placeholder="Entrez un password" required="required" />
                    </li>
                    <li>
                    <input   type="submit"   name="enregistrer"  value="Enregistrer"/>
                    </li>
                    </ul>
                    </fieldset>
             </form>
     
    	    </div>
    mon 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
     
    // User
    	class UsersModel extends phpDataMapper_Base
    	{
    	    // Specify the data source (table for SQL adapters)
    	    protected $_datasource = "users";
     
    	    // Define your fields as public class properties
     
    	    public $Id_users 								= array('type' => 'int', 'primary' => true);
    	    public $Identifiant			= array('type' => 'string', 'required' => false);
    	    public $Password				= array('type' => 'string', 'required' => false);
     
     
    	}
    mon controleur
    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
     
    	public   function  adduser_action()
    		{
    			require_once(FRAMEWORK_PATH.'models/usersmodel.php'); 
    			 $adapter = $this->_registry->getSetting('adpt');
    			   $addusermodel =  new UsersModel($adapter);
     
    			    //Create or sync your table structure with the defined fields in the mapper
    				$addusermodel->migrate();
     
     
    					$template = $this->_registry->getObject('tpl');
    				$template->set_file('index','gestionUtilisateurs.html');
     
     
     
    				if(!empty($_POST['identifiant']) && !empty($_POST['password']))
    				{
    					//$identifiant = addslashes ( utf8_encode( $_POST['identifiant'] ));
    			      //  $password = addslashes ( utf8_encode( $_POST['password'] ));
     
    					$user = $addusermodel->query(" INSERT INTO users(identifiant,password) 
    					                         values('".$this->identifiant."','".$this->password."')
    					                         ");
     
    					    $user->execute();
     
    				}
     
     
    		else {
    	 			$template->pparse('result_index', 'index');
    	          }
     
     
     
     
    		}
    le problème qui me pose c est au niveau du controler je ne sais pas comment je vais exécuter ma requête pour une fois je saisis les données sur le formulaire ça m insérer les données dans la base de données
    si quelqu un a des tutoriel ou des exemple je suis preneur merci de votre aide .

  2. #2
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031

  3. #3
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2011
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2011
    Messages : 154
    Points : 282
    Points
    282
    Par défaut ?
    Salut,

    Je pense que tu te mélange un peu les pinceaux. MVC n'est pas un framework, c'est une architecture. Il existe des tonnes de frameworks avec une architecture MVC, et c'est vrai que par abus de langage on dit souvent framework MVC.

    Donc première question: quel framework utilises-tu?

    2ème: Ou est le reste du code? on y comprends rien, tu as du oublier pas mal de trucs.

    Après, d'après ce que j'ai lu dans ton code il me semble que tu utilise le moteur de template phpBB2 en stand-alone, la dessus je peux t'aider si tu veux, je connais bien.
    Il me semble que tu utilises également un ORM DataMapper, que je ne connais pas. la dessus je ne peux pas t'aider, de plus, je déteste les ORM.
    Donc au final, je peux pas te donner de références, parce que je ne connais pas de framework MVC qui utilise le moteur de template phpBB2 et l'ORM DataMapper, donc j'imagine que c'est un framework maison ou un customisé.

    Donc on ne peut pas te donner ni de tuto ni d'exemple, sauf pour DataMapper et le moteur de phpBB2 en stand-alone

    @+

    Piero

    [EDIT]

    en relisant ton post j'ai compris ton pbm. Il est au niveau de l'ORM, un ORM est un truc qui fait le lien entre tes objets et la BDD. Il n'y a pas besoins d'écrire de requete avec un ORM, il faut appeler des methodes déjà écrites. Pour ton cas ça serait je pense:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $user=$addusermodel->get(); 
    $user->Identifiant=$_POST['identifiant'];
    $user->Password=$_POST['password'];
    $addusermodel->save($user);
    dailleurs je dirai que $addusermodel est un très mauvais nom, $userMapper serai beaucoup plus judicieux.
    [/EDIT]
    -

Discussions similaires

  1. Évoluer vers une architecture MVC en PHP
    Par Community Management dans le forum Langage
    Réponses: 66
    Dernier message: 31/05/2019, 10h53
  2. Architecture MVC avec PHP et performances
    Par kfa1983 dans le forum Langage
    Réponses: 3
    Dernier message: 30/11/2012, 20h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo