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

Langage PHP Discussion :

ORM typé : ca existe?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut ORM typé : ca existe?
    Bonjour a tous!

    Alors j'ai une question qui me reste et dont je n'ai pas réussi a trouver de reponse sur le net : existe t-il en PHP un ORM (ou un outil) ou on pourrais specifier les types, c'est a dire qu'on puisse choisir de dire que le champ X de la table Y est de type email (genre une classe PHP quoi) au lieu que ca reste uniquement les types natifs... en gros qu'on est des validators direct.
    Le but etant evidemment au moment ou on fait une nouvelle entrée que si le type n'est pas correct qu on est une erreur!

    J'utilise Zend Framework et je suis du coup en train de realiser ca mais j'ai peur d'arriver a la fin et de decouvrir qu'il y avait beaucoup plus simple ou que ca existe deja...

    Merci d'avance!

    ps: j'espere que je suis ne serais-ce qu'a moitié clair!

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Php Doctrine

    //VALIDATORS
    ...
    email Checks if value is valid email.
    notblank NOT NULL Checks if value is not blank.
    nospace Checks if value has no space chars.
    country Checks if value is a valid country code.
    ip Checks if value is valid IP (internet protocol) address.
    htmlcolor Checks if value is valid html color.
    regexp(expression) Checks if value matches a given regexp.
    creditcard Checks whether the string is a well formated credit card Checks if given value is a valid US state code.
    ...
    Et pour ne rien gâcher, c'est un très bon produit.

    ERE

    EDIT
    ----
    Note que peux aussi mettre des contraintes dans tes colonnes de table (CHECK CONSTRAINTS)

  3. #3
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Bah dans le zend framework tu peux utiliser les validateurs dans ton formulaire, non ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut
    oui Zend propose enormement de validators et effectivement c'est ce que je cherche mais en fait l'idée c'est d'avoir en gros comme si la base de donnée etait typé, par exemple la table user(login : Zend_Validate_Alnum,password : Zend_Validate_Password) ce qui fait quand utilisant par exemple un $row->save() ca lancerai une exception si les données qu on lui envoi ne sont pas validé, pour eviter d'avoir a chaque fois a reecrire la validation!

    Ca parait peut-etre pas trés interessant en fait;-)

    Et je savais que j'avais pas était clair! c'est ca de posté a 2h du mat lol

  5. #5
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Ouai fin.......
    ça doit être plutot à part ça.

    tu récuper, tu valide, t'envois à la bdd

    fin tu cherche à te compliquer la vie là on dirait

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par lunarnet76 Voir le message
    oui Zend propose enormement de validators et effectivement c'est ce que je cherche mais en fait l'idée c'est d'avoir en gros comme si la base de donnée etait typé, par exemple la table user(login : Zend_Validate_Alnum,password : Zend_Validate_Password) ce qui fait quand utilisant par exemple un $row->save() ca lancerai une exception si les données qu on lui envoi ne sont pas validé, pour eviter d'avoir a chaque fois a reecrire la validation!

    Ca parait peut-etre pas trés interessant en fait;-)

    Et je savais que j'avais pas était clair! c'est ca de posté a 2h du mat lol
    PHP doctrine

    ERE

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut
    hmm j'avoue que c'est un peu une solution de flemmard vu comme ca.

    En fait le truc c'est que je crée un systeme ou on commence par faire un genre de diagramme de classe UML mais avec des infos supplementaires comme justement le type de donnée du SGBD et une classe PHP pour chaque champ.

    Une fois le schema fait il n'y a pas besoin d'ecrire les controllers/model/vue car ils sont virtualisés (il y a pas de fichier physique sauf si on veux rajouter une vue particuliere ou une action particuliere). Aprés les action new,modify,list,search et delete sont disponible pour tout objet.

    A partir de la si j'appel l'action new j'affiche directement un formulaire qui sait quels validators utiliser puisque je l'ai spécifié dans mon diagramme du debut!

    Du coup en gros je cherche a savoir si il y a pas une solution du genre qui existe deja, ou simplement si il existe pas deja une couche d'abstraction de SGBD qui permettent de specifier des types.

    J'espere que je suis plus clair la^^ Hésitez pas a me demander plus d'infos si je suis pas clair!

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 71
    Points : 76
    Points
    76
    Par défaut
    hmm Doctrine repond effectivement largement a une partie de mon probléme vu qu'il a les validators direct, me manquerais plus qu'a ajouter une vue automatique en plus du validator pour chaque donnée et ce serait la fete!

    J'avoue j'avais fait le tour de 2-3 ORM sans voir de solution sympa, genre propel bon dieu comment c'est moche a ecrire^^

    Merci bien emmanuel.remy

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/04/2010, 12h29
  2. [ORM] Existe-t-il un framework complet ?
    Par amazircool dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 23/05/2007, 22h30
  3. Un bon ORM en PHP, ça existe ?
    Par ePoX dans le forum Langage
    Réponses: 4
    Dernier message: 11/06/2006, 22h08
  4. Existe-t-il un langage de prog "virtuel" en Français
    Par HRS dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 10/06/2002, 18h11

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