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 :

Modélisation de bases et champs particuliers


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 425
    Par défaut Modélisation de bases et champs particuliers
    Bonjour,
    En lisant la documentation symfony, j'ai trouvé que symfony tirait parti de certains éléments de la base de données dès lors qu'ils sont définis de manière correcte.
    - id est le nom du champ utilisé en PK
    - table_id celui des champs FK en provenance de la table "table"
    - created_at et updated_at pour les timestamps de création et de modification.

    N'ayant pas trouvé de liste exhaustive des particularités de définition des champs de la base dont symfony sait tirer parti, je ne suis pas sûr d'avoir tout relevé.

    Une base bien définie me semblant être les fondations d'une application solide, j'aimerais modéliser la mienne de telle sorte qu'elle tire au mieux parti du framework.

    Quelqu'un pourrait-il compléter ou valider cette liste (n'existe-t-il pas des champs created_by par exemple) ?

    Est-il possible de définir des PK sur plusieurs champs avec des champs de FK sans perdre les fonctionnalités de symfony ?

    Merci pour vos éclairages.

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Pour les PK, j'ai traité dans ton autre messages, je vais donc passer ici.

    En fait, la majorité des noms de ce type sont issues de doctrine avant d'être cannibalisé dans symfony. En faire un inventaire exhaustif demanderait plusieurs heures et un document important (si on veut les décrire précisément)

    Tu as cité les principaux.

    Mais il s'agit plus de convention de nommage que d'obligation, en effet, rien n'interdit (même si je pense que c'est une mauvaise idée sous symfony) d'appeler la PK 'monIdAMoi", de renommer le "created_at" en "creer_le" et ainsi de suite. Le code sera juste moins lisible par un autre développeur symfony.

    Non, il n'existe pas de "updated_by" et c'est bien dommage, cela pourrait être un élément de "sfGuardDoctrinePlugins". Maintenant, c'est relativement simple à mettre en œuvre avec un minimum de surcharge dans le code.

    "Une base bien définie me semblant être les fondations d'une application solide, j'aimerais modéliser la mienne de telle sorte qu'elle tire au mieux parti du framework." En fait, ce que tu souhaites n'est pas réalisable. Soit tu as une base bien définie, au sens de l'analyse et des formes normales, mais elle ne sera pas facilement utilisable dans symfony, soit tu as une base qui fonctionne bien avec symfony, mais du devras faire des concessions avec le modèle (MLD).

  3. #3
    Membre éclairé

    Inscrit en
    Novembre 2008
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 425
    Par défaut
    Citation Envoyé par mimi68 Voir le message
    En fait, la majorité des noms de ce type sont issues de doctrine avant d'être cannibalisé dans symfony. En faire un inventaire exhaustif demanderait plusieurs heures et un document important (si on veut les décrire précisément)
    Peut-être dans la doc Doctrine, alors...

    Tu as cité les principaux.

    Mais il s'agit plus de convention de nommage que d'obligation, en effet, rien n'interdit (même si je pense que c'est une mauvaise idée sous symfony)
    Plus où moins... D'après ce que j'ai compris, nommer un champ 'created_at' fera qu'il sera géré automatiquement par symfony (ou Doctrine, en fait). Ce n'est donc pas tout à fait équivalent.

    "Une base bien définie me semblant être les fondations d'une application solide, j'aimerais modéliser la mienne de telle sorte qu'elle tire au mieux parti du framework." En fait, ce que tu souhaites n'est pas réalisable. Soit tu as une base bien définie, au sens de l'analyse et des formes normales, mais elle ne sera pas facilement utilisable dans symfony, soit tu as une base qui fonctionne bien avec symfony, mais du devras faire des concessions avec le modèle (MLD).
    Des compromis, toujours des compromis . Et moi qui pensais que Symfony...
    Avant de choisir l'option, il faudra donc que je teste davantage...

    Merci, en tout cas, pour cette réponse claire.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Pour created_at, c'était vrai avec propel (le fait qu'il soit automatiquement reconnu et traité). Avec Doctrine, il faut mettre en place, dans la base un behavior "timestampable" qui le prend en charge, et permet de modifier le nom.


    Il n'y a pas de framework parfait, ou il est trop permissif, du genre du send, quoique, les nouvelles versions semblerait l'être moins. Soit il est plus contraignants, ce que je trouve une bonne chose, mais il faut alors accepter les contraintes, après tous, il reste la possibilité de tous faire à la main. Mais je ne pense pas que cela soit la meilleur solution.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2009, 12h00
  2. modéliser une base de données sur SQL Server ..
    Par Alexy3171 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/11/2006, 15h57
  3. Update sur un champ particulier
    Par Pfeffer dans le forum Oracle
    Réponses: 7
    Dernier message: 31/10/2006, 13h53
  4. [SQL Server 2005] Outils de modélisation de base de données
    Par margagn dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 28/08/2006, 17h37
  5. Recuperer un champs particulier d'une chaine
    Par gilles641 dans le forum C++
    Réponses: 7
    Dernier message: 25/08/2005, 08h08

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