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

PHP & Base de données Discussion :

[Doctrine] Comment commencer ?


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut [Doctrine] Comment commencer ?
    Bonjour,

    Je viens de lire la doc de Doctrine, et j'ai essayé de comprendre au mieux l'outil (l'anglais n'est pas vraiment mon point fort...)

    Bon j'ai a peut près compris le fonctionnement global, mais je me pose toujours la question suivante : "D'où dois-je partir ? Création du yml puis génération Modèle et Base ? Création des Modèle en .php et génrération des yml et Base ? Ou alors commencer à partir de la création manuelle de la base ?"

    A la base je me disais qu'il fallait partir des .php mais en relisant certains chapitres de la doc, j'ai plus l'impression qu'ils fait créer nos yml et générer le reste à partir de ceux ci...

    Pouvez vous me donner votre vision sur la question ?

    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Hi,

    Il faut créer les fichier YML le reste découlera.
    Doctrine créera a partir de ce YML la base de données ainsi que les objets associés.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    D'accord, alors c'est bien ce que j'avais compris même si je ne trouve pas cela tout à fait logique.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Ha bon qu'est-ce qui te parait plus logique?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Créer des BO et générer a partir de ceux ci...

    Mais bon va pour les yml...

    (d'ailleur je trouve le yml super strict : si Tab au lieu de espace pour l'indentation : ca plante... pas très pratique)

    NB : peut être passer en 2.0 pour mapper en xml ^^

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Qu'est-que des BO?

    Le soucis avec les TAB c'est que ce n'est pas standard.
    Sur certains editeur il faudra une tabulation la ou sur d'autres il t'en faudra deux.
    Les espaces c'est chiant a faire mais tu es un peu pres sur du résultat.
    Par ailleurs sur certains editeurs le tab peut etre configurable.
    par exemple 1 tab = 4 espaces.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Editeur => Eclipse, mais les tab fonctionnent pas... ca plante à l'execution.

    BO => Business Objects

    En java avec Hibernate je pars toujours de mes classes métiers (mes BO)...

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Citation Envoyé par kolbek Voir le message
    Editeur => Eclipse, mais les tab fonctionnent pas... ca
    BO => Business Objects
    En java avec Hibernate je pars toujours de mes classes métiers (mes BO)...
    Justement ton fichier YML décris bien tes objets metiers. Doctrine va générer tes objets metiers plus la couche DAO ainsi que la base de données.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Ok merci.

    Par contre j'ai fais comme ca, mais, avec la version 1.2, il m'est impossible de générer la base de données à partir des models, alors qu'en version 1.1, cela fonctionne...

    Y a t il une grande différence entre la v1.1 et la v1.2 ?

    Pensez vous que je dois chercher la solution pour la v1.2 ? Ne pas m'embêter et travailler en 1.1 ? Passer en 2.0 ?

    Merci d'avance.

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Evidemment c'est toujours tentant d'utiliser la derniere version d'une librairie.
    Cependant tu peux toujours utiliser la 1.1 et quand la 1.2 sera stable voir meme la 2.0 tu pourras toujours l'upgrader.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Ok ok, mais c'est un problème connu sur la 1.2 ? Ou alors j'ai commis une erreur ?

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Je ne sais pas, quel est le message d'erreur?

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Justement aucun message d'erreur à l'execution de Doctrine_Code::createTablesFormModels($modelPath);

    Peut être que je peux vous fournir mon mini projet pour que quelqu'un test (peut être un problème sur ma config machine...)

    Edit :

    Voici mon mini projet en erreur : www.kondratek-nicolas.info/Test_Doctrine.zip

  14. #14
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    As-tu jeté un oeil au fichier de logs?

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 94
    Par défaut
    Non, où se situe le fichier de logs ?
    (car log php, apache et mysql ya rien du tout)

    Sinon j'ai tracé en débug, et le probleme c'est que dans Core.php

    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
    public static function isValidModelClass($class)
        {
            if ($class instanceof Doctrine_Record) {
                $class = get_class($class);
            }
     
            if (is_string($class) && class_exists($class)) {
                $class = new ReflectionClass($class);
            }
     
            if ($class instanceof ReflectionClass) {
                // Skip the following classes
                // - abstract classes
                // - not a subclass of Doctrine_Record
                if ( ! $class->isAbstract() && $class->isSubClassOf('Doctrine_Record')) {
     
                    return true;
                }
            }
     
            return false;
        }
    Ca ne passe jamais dans les if, donc return false pour chaque class Model...

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Est-ce que Doctrine 1.2 ne vient pas de passer en stable?

Discussions similaires

  1. Coder son pathdinfing : comment commencer ???
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 09/01/2006, 09h38
  2. [debutant] Comment commencer avec Perl?
    Par Murieyaya dans le forum Langage
    Réponses: 3
    Dernier message: 20/12/2005, 15h58
  3. Comment commencer ?
    Par cyrill.gremaud dans le forum Interfaces Graphiques en Java
    Réponses: 14
    Dernier message: 25/11/2005, 15h04
  4. [Wamp] Comment commencer ?
    Par mencaglia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 11/11/2005, 18h34
  5. [JEU]Comment commencer
    Par mavina dans le forum Général Java
    Réponses: 7
    Dernier message: 04/11/2005, 08h39

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