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

Doctrine2 PHP Discussion :

[StofDoctrineExtensionsBundle] et Sf2 RC4


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut [StofDoctrineExtensionsBundle] et Sf2 RC4


    Je viens de faire la migration RC1 > RC4 aujourd'hui, ça s'est très bien passé jusqu'à ce que j'essaie (). En même temps, j'ai mis à jour ma version de StofDoctrineExtensionsBundle (vive le bin/vendors).

    Je n'aurais probablement pas dû.

    Tout d'abord, je me reçois une erreur comme quoi il n'y a pas d'event listener attaché à l'ORM. Après un rapide coup d'oeil aux derniers commits sur le bundle, il faut maintenant attacher chaque listener manuellement, ce que je fais.

    Ensuite, j'ai des erreurs disant que je dépasse le niveau de récursion permis ! Cela semblait provenir de xdebug, je l'ai donc désactivé ; maintenant, Apache plante lamentablement à chaque requête ² ! (J'utilise EasyPHP en dernière version). En laissant xdebug mais avec xdebug.max_nesting_level à 0, j'ai des dépassements de mémoire...

    Sur ce, je peux dire que la fonctionnalité qui plante, c'est un import massif de données en base (je dois lire une série d'enregistrements dans une base pour constituer une liste de catégories ; les parents étant parfois enregistrés après les enfants - oui, ça a un certain passé... -, je dois le faire en deux passes : une pour mettre toutes les catégories, une autre pour mettre les filiations, je crains que ça ne soit une opération du genre qui fasse tout planter...). Je ne sais pas s'il sera utile de vous mettre tout le code ; n'hésitez pas à demander.

    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut
    Ton appli a l'air vraiment geniale
    J'ai pas la solution mais j'ai le meme probleme si ca peut te rassurer. En passant a la RC4, je ne peux plus faire du login / logout, j'ai une erreur de max memory allowed. J'ai pas eu le temps de chercher, j'ai desactive le bundle je m'en sers pas pour l'instant.

    Mais du coup avec nous 2 c'est un bug reconnu, et ca merite d'ouvrir une issue sur le bundle !

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Citation Envoyé par winzou Voir le message
    Ton appli a l'air vraiment geniale
    C'est juste que je dois baser une grande partie de l'architecture sur une base vieille de 2000-2001, à laquelle je ne peux pas toucher (à laquelle j'accède par l'extension mysql, directement, d'ailleurs, pour récupérer un script de connexion à la base de l'époque - histoire de conserver les logins en un seul endroit) ; par contre, le reste, je suis entièrement libre (ouf).

    Citation Envoyé par winzou Voir le message
    Mais du coup avec nous 2 c'est un bug reconnu, et ca merite d'ouvrir une issue sur le bundle !
    https://github.com/stof/StofDoctrine...ndle/issues/49. En espérant que ce ne soit pas un bogue introduit dans Doctrine .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    En fait, je pense que ça n'a rien à voir avec StofDoctrineExtensionsBundle... Il est devenu impossible de flusher une centaine de modifications en base d'un coup ! (ALors que, juste avant la màj, ça le faisait sans problème...).

    J'ai un laid code comme ça (beaucoup de bouts enlevés) :

    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
    $result = mysql_query('SELECT * FROM RUBRIQUE ORDER BY ID_RUBRIQUE');
     
            // Pour chaque ligne, on vérifie qu'on a les infos nécessaires (sans quoi
            // tout peut planter à l'affichage...), qu'on n'a pas déjà la rubrique en 
            // base, puis seulement on l'ajoute. 
            while($r = mysql_fetch_assoc($result))
            {
                $r['ID_RUBRIQUE'] = (int) $r['ID_RUBRIQUE'];
                $r['ID_PARENT']   = (int) $r['ID_PARENT'];
     
                $rb = $this->getDoctrine()->getRepository('QuizQuizBundle:Rubrique')->find($r['ID_RUBRIQUE']);
     
                // Si la rubrique existe déjà, on vérifie qu'on ne doit rien mettre 
                // à jour. 
                if((bool) $rb)
                {
                    if($r['XITISITE'] != 0)
                        $rb->setXiti($r['XITISITE']);
                    $this->em->persist($rb);
                }
                else
                {
                    $en = new Rubrique();
                    $en->setId($r['ID_RUBRIQUE']);
                    $en->setName($r['LIB']);
     
                    if($r['XITISITE'] == 0)
                        $en->setXiti(1);
                    else
                        $en->setXiti($r['XITISITE']);
     
                    $this->em->persist($en);
                    $this->em->flush();
                }
            }
    Si je fais un flush en dehors de ma boucle, ça plante lamentablement ; avec un flush après chaque persist(), ça fonctionne, mais je ne peux pas laisser de flush en dehors de la boucle.

    Ma seule réaction : !

    Edit : en fait, je ne peux plus flusher du tout, ça plante dès le premier appel... Mon entité :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
     
    namespace Quiz\QuizBundle\Entity;
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Mapping\Annotation as Gedmo;
     
    /**
     * @ORM\Entity
     * @Gedmo\Loggable
     */
    class Rubrique
    {
        public function __construct()
        {
            $this->categories = new \Doctrine\Common\Collections\ArrayCollection();
        }
     
        /**
         * @ORM\Column(type="integer")
         * @ORM\Id
         */
        protected $id;
     
        /** 
         * @ORM\Column(type="string")
         */
        protected $name; 
     
        /**
         * @ORM\Column(type="string")
         */
        protected $colonneDroite; 
     
        /** 
         * @ORM\Column(type="integer")
         */
        protected $xiti; 
     
        /**
         * @ORM\OneToMany(targetEntity="Category", mappedBy="rubrique")
         */
        protected $categories;
     
        /**
         * @ORM\Column(type="integer")
         */
        protected $parent; 
     
        //...
    }
    Le seul truc qui pourrait poser problème, c'est le Loggable...

    Edit 2 : de fait, en virant cette ligne, tout refonctionne sans problème...
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    Regardes ce lien et dis moi si comme ça, ça marche ?

    http://www.doctrine-project.org/docs...ighlight=flush

    En fait moi j'avais toujours lu dans le doc que pour faire le flush de beaucoup d'objets, il fallait procéder par petits bouts! diviser pour mieux régner !

    Le code qui va avec le lien si on a la flemme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $batchSize = 20;
    for ($i = 1; $i <= 10000; ++$i) {
        $user = new CmsUser;
        $user->setStatus('user');
        $user->setUsername('user' . $i);
        $user->setName('Mr.Smith-' . $i);
        $em->persist($user);
        if (($i % $batchSize) == 0) {
            $em->flush();
            $em->clear(); // Detaches all objects from Doctrine!
        }
    }

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Non, ça n'aide pas ...

    Par contre, pendant que tu répondais, j'ai édité mon message .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    J'ai déterminé la ligne du plantage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $logEntryMeta = $om->getClassMetadata($logEntryClass);
    dans gedmo-doctrine-extensionns/lib/Gedmo/Loggable/LoggableListener (ligne 248).

    Une idée pour la résolution ? Moi pas, étant donné que je ne me suis pas encore trop aventuré dans les entrailles de Doctrine...
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    J'ai essayé de repasser en RC3, ça n'a rien arrangé . Faudra-t-il apprendre à se servir de git bisect pour ça ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Je me rends compte que c'est plus profond que ça, que ça vient de Doctrine2 himself.

    En effet, dès que je fais un flush() quand des entités référant d'autres entités ont été persist(), ça plante lamentablement. Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            $ans1 = new Answer();
            $this->em->persist($ans1);
     
            $ans2 = new Answer();
            $this->em->persist($ans2);
     
            $q = new Question();
            $q->addAnswer($ans1);
            $q->addAnswer($ans2);
            $this->em->persist($q);
            $this->em->flush();
    Et l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Maximum function nesting level of '100' reached, aborting! in \vendor\doctrine\lib\Doctrine\ORM\Mapping\ClassMetadataInfo.php on line 117
    Que je flush() après chaque persist() ne change strictement rien. Il y a évidemment du remplissage d'entités entre deux, mais ça me semble inutile de mettre ce blabla.

    Quelque chose que je fais mal ? Peut-être auriez-vous besoin du code des entités ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut
    C'est vraiment bizarre la, je vois pas du tout. Essaie de nous filer le code de ces 2 entites pour voir, mais j'y crois moyen.

    Des fois je me demande si sf et son pote doctrine nous font gagner du temps ou en perdre

  11. #11
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Entité Answer :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
     
    namespace Quiz\QuizBundle\Entity;
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Mapping\Annotation as Gedmo;
     
    /**
     * @ORM\Entity(repositoryClass="Quiz\QuizBundle\Entity\Repository\SoftDeleteRepository")
     */
    // Old annotations
    // * @Gedmo\Loggable
    class Answer
    {
        public function __construct()
        {
            $this->deleted = false; 
            $this->isRight = false;
        }
     
        /**
         * @ORM\Column(type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue
         */
        protected $id;
     
        /**
         * @ORM\Column(type="boolean")
         */
        protected $deleted;
     
        /** 
         * Question à laquelle appartient cette réponse
         * 
         * @ORM\ManyToOne(targetEntity="Question", inversedBy="answer")
         */
        protected $question; 
     
        /**
         * Texte de la réponse
         * 
         * @ORM\Column(type="string")
         */
        protected $text; 
     
        /**
         * Cette réponse est-elle correcte ?
         * 
         * @ORM\Column(type="boolean")
         */
        protected $isRight; 
     
        /**
         * Explication affichée pour cette réponse à la correction
         * 
         * @ORM\Column(type="text")
         */
        protected $explanation; 
     
        public function delete()
        {
            $this->deleted = true;
        }
     
        public function undelete()
        {
            $this->deleted = false; 
        }
     
    // méthodes générées
    }
    Entité Question :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <?php
     
    namespace Quiz\QuizBundle\Entity;
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Mapping\Annotation as Gedmo;
     
    /** 
     * @ORM\Entity(repositoryClass="Quiz\QuizBundle\Entity\Repository\SoftDeleteRepository")
     ** @Gedmo\Loggable
     */
    class Question
    {
        public function __construct()
        {
            $this->answer = new \Doctrine\Common\Collections\ArrayCollection();
            $this->deleted = false; 
        }
     
        /**
         * @ORM\Column(type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue
         */
        protected $id;
     
        /**
         * @ORM\Column(type="boolean")
         */
        protected $deleted;
     
        /**
         * Quiz auquel appartient cette question
         * 
         * @ORM\ManyToOne(targetEntity="Quiz", inversedBy="question")
         */
        protected $quiz;
     
        /**
         * Tableau de réponses possibles
         * 
         * @ORM\OneToMany(targetEntity="Answer", mappedBy="question")
         */
        protected $answer; 
     
        /**
         * Question posée
         * 
         * @ORM\Column(type="string")
         */
        protected $question; 
     
        /**
         * Peut-on sélectionner plusieurs réponses ?
         * 
         * @ORM\Column(type="boolean")
         */
        protected $multipleAnswers; 
     
        /**
         * Explication affichée en haut de correction
         * 
         * @ORM\Column(type="text")
         */
        protected $explanation; 
     
        public function delete()
        {
            $this->deleted = true;
        }
     
        public function undelete()
        {
            $this->deleted = false; 
        }
     
    // méthodes générées
    }
    J'avais oublié de préciser que j'utilise un Repository particulier pour gérer plus simplement le soft delete :

    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
    <?php
     
    namespace Quiz\QuizBundle\Entity\Repository;
     
    class SoftDeleteRepository extends \Doctrine\ORM\EntityRepository
    {
        public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
        {
            return parent::findBy($this->fixCriteria($criteria), $orderBy, $limit, $offset);
        }
     
        public function findOneBy(array $criteria)
        {
            return parent::findOneBy($this->fixCriteria($criteria));
        }
     
        public function find($id, $lockMode = \Doctrine\DBAL\LockMode::NONE, $lockVersion = null)
        {
            return $this->findOneBy(array('id' => $id));
        }
     
        private function fixCriteria(array $criteria)
        {
            // À moins que ce ne soit explicitement précisé, on ne veut pas d'enregistrement marqués comme supprimés
            if(! in_array('deleted', $criteria))
            {
                $criteria['deleted'] = false;
            }
     
            return $criteria;
        }
    }
    Citation Envoyé par winzou Voir le message
    Des fois je me demande si sf et son pote doctrine nous font gagner du temps ou en perdre
    Quand on voit ce que c'est censé automatiser, c'est censé nous en faire gagner beaucoup en développement (pas forcément à chaque requête ).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut
    Et est-ce que dans $q->addAnswer($ans1) tu geres les 2 cote de la relation ? Je vois que tu as une relation bidirectionnelle la.

    Mais sinon j'ai pareil chez moi aucune diff, si ce n'est que je suis en uni-directionel moi. Je vois vraiment pas ce qu'il t'arrive !

  13. #13
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Citation Envoyé par winzou Voir le message
    Et est-ce que dans $q->addAnswer($ans1) tu geres les 2 cote de la relation ? Je vois que tu as une relation bidirectionnelle la.
    C'est exactement la version générée par un app/console doctrine:generate:entities, je n'y ai pas touché. Je n'ai pas le code sous les yeux, mais ça ressemblait à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public function addAnswer(Answer $answer)
    {
        $this->answer[] = $answer;
    }
    Citation Envoyé par winzou Voir le message
    Mais sinon j'ai pareil chez moi aucune diff, si ce n'est que je suis en uni-directionel moi. Je vois vraiment pas ce qu'il t'arrive !
    Ça changerait quoi, de passer en unidirectionnel ? Juste qu'il ne sera plus possible de simplement récupérer la question associée à une réponse ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  14. #14
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Problème résolu. En fait, il n'y avait pas de problème : j'ai tout effacé et tout recommencé (enfin, une nouvelle branche Git), de zéro, avec installation de la distribution standard en dernière version, recopiage intensif d'entités... et ça fonctionne. Je suppose qu'il restait îne saqwè d'une RC précédente qui faisait tout foirer. (Enfin, j'arrive à générer mon schéma, c'est déjà une grande avancée, le reste devrait suivre aussi bien... détails demain si problème).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut


    Alors, pour l'instant Symfony2 te fait gagner ou perdre du temps ?

  16. #16
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Je l'apprends toujours, donc c'est une grande perte de temps ; une fois tout assimilé, ça devrait aller mieux, bien mieux ! (Je prévois encore quelques heures de perdues quand je vais commencer à jouer avec les formulaires - sachant que, malgré mes tentatives, je n'ai toujours pas réussi à utiliser ceux de la première version ).

    (e) C'est magique quand ça fonctionne ! Tout fonctionne maintenant parfaitement, même l'annotation @Gedmo\Mapping\Annotation\Loggable, sans aucun problème de performance ! Je ne sais toujours pas exactement ce qui a foiré (probablement une migration inter RC), cependant.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Version RC4: OpenLayers et l'API Géoportail (minimum)
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 5
    Dernier message: 10/03/2010, 15h03
  2. Version RC4: Territoires couverts
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 09/03/2010, 21h56
  3. Version RC4 du 6 mars 2010
    Par mga_geo dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 07/03/2010, 11h34
  4. PHP 5.2.10 et 5.3.0 RC4 sont disponibles
    Par Rémy d'Aprilli dans le forum Langage
    Réponses: 1
    Dernier message: 20/06/2009, 20h41
  5. PHP 5.2.10 et 5.3.0 RC4 sont disponibles
    Par Rémy d'Aprilli dans le forum Actualités
    Réponses: 0
    Dernier message: 20/06/2009, 17h44

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