Le framework que je commence à apprendre prend en charge 2 ORM prêts à l'emploi. Je ne pense pas qu'il soit important, aux fins de cette question, de dire quels 2 ORM. Ma question est plus générale que cela. Comment décidez-vous généralement quel ORM accompagner? Je n'ai jamais utilisé d'ORM auparavant, mais je suppose qu'il y a une liste de must-have que tout ORM décent doit avoir, puis il y a une liste de choses à faire et ainsi de suite. Un ORM est comme n'importe quel autre progiciel.Comment choisir un ORM
Répondre
Vous aurez besoin de comparer plusieurs choses, ce n'est pas tout à propos de ce qu'il peut et ne peut pas. Pensons à:
- Caractéristiques
- Documentation
- progrès du développement
- Vitesse
- Comment est le code
- Communauté
- soutien
Vos priorités peuvent être différentes que la mienne. Avez-vous besoin d'un produit stable à l'épreuve de la production? Ou voulez-vous quelque chose de plus avant-gardiste?
Tranchant: dernières techniques. Le meilleur ORM fera tout ce que vous voulez. Si vous trouvez un tel ORM, allez-y. Si vous ne le faites pas, vous devrez faire un choix. Pour que le choix soit correct, vous devrez vous poser des questions sur vos besoins. – user228395
L'avant-garde peut être: l'utilisation complète de php 5.3, les derniers paradigmes de conception oop (quel type d'héritage cela vous donne-t-il), les standards, l'intégration avec les frameworks. Doctrine2 a mis en place des techniques de pointe. – user228395
La première question devrait être de savoir si votre application nécessite un ORM, et non les fonctionnalités fournies par l'ORM. Si votre application nécessite un ORM, choisissez celui qui convient à votre application, et non celui qui est le plus riche en fonctionnalités. Si vous ne croyez pas en ActiveRecord, vous ne choisissez pas l'ORM basé sur ce modèle, indépendamment des fonctionnalités.
Pour un aperçu des modèles objet-relationnel un coup d'oeil à la PoEAA de Fowler:
Une ORM mise en œuvre la plupart des modèles d'objet-relationnel pourrait provisoirement être considéré comme décent, mais comme J'ai dit, si tu n'en as pas besoin, tu n'en as pas besoin.
Donc, un seul ORM peut en fait accueillir plus d'un modèle de conception de base de données (ActiveRecord et autre)? – jblue
@jblue En théorie, oui. En pratique, AR est le modèle dominant ([bien qu'il craint pour ORM] (http://kore-nordmann.de/blog/why_active_record_sucks.html)). – Gordon
Vous semblez très compétent dans ce domaine, alors j'aimerais vous poser une question connexe. J'ai demandé à propos de l'utilisation d'une couche de service avec MVC ici: 'http: // stackoverflow.com/questions/3744402/is-mvc-service-couche-commun-en-zend-or-php' Ma question est la suivante: faire un peu Les patterns de conception db se prêtent plus à une couche de service sur le modèle? – jblue
- 1. Lecture d'entrée m-fichier dans un m-fichier principal
- 2. Comment supprimer^M
- 3. Pourquoi m /$./m me donne un comportement inattendu?
- 4. Comment remapper la commande Emacs M-d dans la macro M-b, M-d?
- 5. Comment passer les paramètres de .m à un autre .m dans l'objectif C
- 6. mysql codeigniter enregistrement actif m: m suppression
- 7. Comment choisir les couleurs pour un camembert?
- 8. Comment choisir parmi HQL
- 9. jquery comment choisir this.parent?
- 10. HTTPService resultFormat, comment choisir
- 11. Socket? python -m SimpleHTTPServer
- 12. Comment convertir des fichiers m en dll?
- 13. Comment fonctionne le -m en Perl
- 14. Comment choisir une liaison WCF?
- 15. jqGrid comment remplacer la "vue" m
- 16. Date d'émission en m²
- 17. Comment choisir UIInterfaceOrientationLandscapeRight ou UIInterfaceOrientationLandscapeLeft?
- 18. Que signifie M, D en décimal (M, D) exactement?
- 19. nhibernate fluide m-à-m avec la colonne
- 20. Quels sont les sémantiques (M | m) des akefiles?
- 21. GQL comment choisir par UserProperty
- 22. iPhone OpenGL ES - Comment choisir
- 23. Masquage^M dans emacs
- 24. Choisir un mot aléatoire en Python?
- 25. Dans MATLAB, Comment puis-je exécuter plusieurs fichiers .m (M-fichier) automatiquement?
- 26. Comment ne pas laisser l'utilisateur choisir un certain TabBarItem
- 27. Comment choisir un fournisseur Oracle pour l'application .Net?
- 28. Comment choisir un nœud aléatoire à partir d'un arbre
- 29. Comment choisir une correspondance d'expression régulière sur un index arbitraire?
- 30. Comment puis-je choisir un élément dans une liste?
Si dire "quels 2 ORMs" n'est pas important, pourquoi mettre "symfony" et "doctrine" dans les tags pour cette question? : D –