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

Symfony PHP Discussion :

Accès session dans le repository


Sujet :

Symfony PHP

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Par défaut Accès session dans le repository
    Salut,

    j'ai besoin d'avoir un accès a la session dans le repository.
    Alors normalement ça fonctionne avec les services mais ça ne fonctionne pas je comprend pas pourquoi.

    Config.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    imports:
        - { resource: parameters.ini }
        - { resource: security.yml }
        - { resource: "@SocieteProjetBundle/Resources/config/service.xml" }
    service.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <container xmlns="http://symfony.com/schema/dic/services"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
      <parameters>
        <parameter key="objet.class">Societe\ProjetBundle\Model\ObjetRepository</parameter>
      <services>
     
        <service id="objet.session" class="%objet.class%">
          <argument type="service" id="session" />
        </service>
    </service>
    ObjetRepository.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    namespace Societe\ProjetBundle\Model;
     
    use Doctrine\ORM\EntityRepository;
     
    class ObjetRepository extends EntityRepository
    {
        public function __construct($session){
            //Je récupère ma session
        }
    }
    Cela ne fonctionne pas, j'ai essayé de reprendre la même structure du construct que le parent et ça ne fonctionne pas non plus :

    service.xml (j'ai rajouté)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <argument />
    <argument />
    <argument type="service" id="session" />
    ObjetRepository.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    __construct($em, $class, $session)
    Il me dit qu'il perd l'argument 3...

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Par défaut
    Je peut arriver à la récupérer en rajoutant une méthode setSession() dans mon ObjetRepository et la setter à partir de mon contrôleur mais je ne trouve pas ça très beau.
    Je préfèrerai vraiment utiliser les services...

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/08/2012, 18h16
  2. [VB.NET] Utilisation des sessions dans Session_End ?
    Par San Soussy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2005, 16h40
  3. [VB.NET] Server.MapPath et Session dans une classe
    Par nancy54 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/09/2004, 14h23
  4. [Avancé] Recopie une session dans un autre client
    Par gregoun dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 29/06/2004, 12h11
  5. [tomcat]acces fichier dans contexte
    Par krollette dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 23/01/2004, 14h17

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