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

CodeIgniter PHP Discussion :

Créer une instance d'un modèle


Sujet :

CodeIgniter PHP

  1. #1
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Septembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Septembre 2004
    Messages : 114
    Par défaut Créer une instance d'un modèle
    Bonsoir tout le monde;

    Ma question peut paraître bête mais je la pose tout de même
    Dans CI, l'accès aux modèles se fait dans le controlleur à l'aide d'une méthode load et l'accès est automatique.

    Comment faire si l'on souhaite créer un nouvel objet de ce modèle, pour par exemple le stocker en session ?

    Merci d'avance pour vos réponses.

    Louis

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Par défaut
    Bonjour,

    Dans le controleur, tu charges le modèle:
    $this->load->model('monmodele');

    il en resulte que la variable objet correpondante est: $this->monmodele

    et donc, tu pourrais ecrire par exemple:
    $mod = $this->monmodele; // nb: $mod est une reference sur le modele, en PHP5
    et ensuite:
    $mod->mamethode(); // pour invoquer la methode monmodele.mamethode()

    Quant à stocker $mod directement dans une session de CodeIgniter, je ne sais pas si c'est possible, car la doc de la classe Session ne précise pas si on peut y mettre des objets: les exemples ne montrent que des variables simples ou des tables.

    A+

  3. #3
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Septembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Septembre 2004
    Messages : 114
    Par défaut
    Merci pour ta réponse.

    Mais si justement $mod est une référence, cela fait que si par la suite je remodifie mon objet, il ne sera plus unique et la variable $mod ne contiendra pas mon objet original et c'est là mon problème

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 22
    Par défaut
    Bonjour,

    > Mais si justement $mod est une référence, cela fait que si par la suite je remodifie mon objet, il ne sera plus unique et la variable $mod ne contiendra pas mon objet original et c'est là mon problème

    Je ne comprends sûrement pas bien ce que tu veux dire parce que je crois que les références fonctionnent à l'inverse de ce que tu écris.
    Je m'explique:
    Puisque $mod est une référence sur l'objet également référencé par $this->monmodele, ça signifie que $mod et $this->monmodele sont deux variables qui pointent sur une seule et même instance. Et donc si on fait par exemple $this->monmodele->mavaleur = 1 alors on pourra constater que $mod->mavaleur = 1.

    Je précise que ceci n'est vrai qu'en PHP5, car en PHP4 l'assignation $mod = $this->monmodele clone l'instance de $this->monmodele et range une référence sur le clone dans $mod.

    Dis moi si je suis à côté de la plaque

  5. #5
    Membre confirmé
    Profil pro
    Developpeur
    Inscrit en
    Septembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Septembre 2004
    Messages : 114
    Par défaut
    Justement on a la meme définition des références

    J'aurais justement voulu un clone car l'accès automatique au Model permetterait de modifier mon objet que je veux sauvegarder.

    Je vais m'arranger autrement puisque de toute manière je ne sais même pas si je peux mettre en session mon objet

    Merci de tes réponses.

Discussions similaires

  1. Créer une instance de modèle avec 2 clefs étrangères
    Par Invité dans le forum Ruby on Rails
    Réponses: 6
    Dernier message: 25/11/2011, 16h42
  2. Réponses: 5
    Dernier message: 09/03/2007, 21h14
  3. Réponses: 5
    Dernier message: 17/07/2006, 18h34
  4. [Débutant] Créer une instance avec le nom d'une classe
    Par Quetzalcoatl dans le forum Langage
    Réponses: 7
    Dernier message: 23/01/2006, 20h43
  5. [VB.NET]Créer une instance par page
    Par Dnx dans le forum ASP.NET
    Réponses: 20
    Dernier message: 31/10/2005, 13h22

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