1. #1
    Membre à l'essai Avatar de Hyperion99
    Profil pro
    Inscrit en
    mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2006
    Messages : 62
    Points : 20
    Points
    20

    Par défaut [CakePHP] Accéder aux données de la session depuis un modèle

    Bonjour

    Je débute en cake (et php...) ma question va donc peut être paraitre absurde , (dans ce cas je vous prie de m'en excuser) mais je ne trouve pas de précision a ce sujet :

    Peut on accéder aux données d'une session dans le modèle ?
    J'ai bien vu que depuis mon controleur UserController par exemple je peux faire
    $test = $this->Session->read('maVariable);

    mais si je fais la même chose depuis UserModel j'ai l'erreur suivante :
    Undefined property: User::$Session

    quelqu'un pourrait me confirmer (ou infirmer...) que l'on ne peut pas avoir accès aux données de la session depuis le modèle ?

    merci beaucoup
    a+

  2. #2
    Membre à l'essai Avatar de Hyperion99
    Profil pro
    Inscrit en
    mai 2006
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : mai 2006
    Messages : 62
    Points : 20
    Points
    20

    Par défaut

    Quelqu'un m'a répondu je vous fait part de sa réponse :


    Quand tu utilises dans ton contrôleur $this->Session, tu fais appel au Component Session, or les Components ne sont accessibles que dans les contrôleurs.

    Il est donc normal que tu aies un message d’erreur si tu cherches à l’appeler depuis un modèle. Par contre, la variable globale PHP classique $_SESSION est accessible par nature dans toute ton application.

    Sans être un intégriste du modèle MVC, il me semble de toutes façons mal approprié de recourir aux sessions dans les modèles

    J'en profite donc pour poser une nouvelle question :

    De façon générale existe il un moyen de passer des infos au Model autrement que par des paramètre dans des fonctions ??

    en ésperant trouver un peu d'aide a ma compréhension ....
    a+

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : avril 2007
    Messages : 14
    Points : 11
    Points
    11

    Par défaut

    Citation Envoyé par Hyperion99 Voir le message
    Bonjour

    Je débute en cake (et php...) ma question va donc peut être paraitre absurde , (dans ce cas je vous prie de m'en excuser) mais je ne trouve pas de précision a ce sujet :

    Peut on accéder aux données d'une session dans le modèle ?
    J'ai bien vu que depuis mon controleur UserController par exemple je peux faire
    $test = $this->Session->read('maVariable);

    mais si je fais la même chose depuis UserModel j'ai l'erreur suivante :
    Undefined property: User::$Session

    quelqu'un pourrait me confirmer (ou infirmer...) que l'on ne peut pas avoir accès aux données de la session depuis le modèle ?

    merci beaucoup
    a+
    Bonjour, tu peux utiliser la variable de session standard de PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['maVariable']

Discussions similaires

  1. Accéder aux données en mémoire d'un XmlDataProvider, depuis le code VB.net
    Par Jayme65 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 15/11/2012, 16h06
  2. Accéder aux données depuis la carte SD
    Par dessinateurttuyen dans le forum Android
    Réponses: 2
    Dernier message: 18/03/2011, 16h28
  3. Réponses: 2
    Dernier message: 03/09/2010, 11h21
  4. Relation ! schéma ! comment accèder aux données ?
    Par julien.63 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/06/2006, 21h14
  5. Accéder aux données d'un sous formulaire
    Par jkembo dans le forum Access
    Réponses: 6
    Dernier message: 28/04/2006, 16h38

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