Quelqu'un peut-il me dire 'Qu'est-ce que la doctrine n'est pas bonne? Veuillez décrire un scénario dans lequel nous n'utiliserions certainement pas Doctrine.Doctrine et son utilisation
Répondre
C'est certainement plus un ORM-ou-non? discussion. Je dirais qu'il y a des raisons architecturales et des raisons de performance de ne pas utiliser Doctrine.
Le but d'un ORM est de traduire la structure de la table de base de données en graphes d'objets pour votre application. Si vos données sont censées représenter ou «modéliser» discriminer des objets ou des relations entre des objets (Utilisateur, Panier, Commande, etc.). alors un ORM est un outil précieux.
Mais dans le cas où votre application travaille avec des données tabulaires, et il n'y a pas de impedence mismatch sérieux, Doctrine pourrait ne pas être la bonne approche. Par exemple, si mon application devait fonctionner avec de grands ensembles de fichiers journaux, un ORM peut être excessif. De plus, si votre base de données est fortement dénormalisée, un ORM n'est probablement pas pour vous.
Il existe également des critères de performance. Les ORM ont tendance à être plus lents que l'utilisation de SQL à chaud. La doctrine a aussi l'habitude de construire de très gros graphiques d'objets plutôt que d'avoir une grande empreinte mémoire. Il n'est pas vraiment well suited de travailler avec des milliers de lignes de base de données à la fois, ou avec un nombre élevé d'insertions, de mises à jour ou de suppressions. Si vous devez traiter une grande quantité de transactions de base de données, un ORM peut ne pas vous convenir. Ma philosophie est qu'un ORM est un outil extrêmement utile jusqu'à ce qu'il devienne trop douloureux à utiliser. Si vous ne pouvez pas du tout tirer profit de Doctrine, vous le connaissez probablement déjà.
- 1. MSBee et son utilisation
- 2. Utilisation d'EntityManager dans les entités Doctrine 2.0
- 3. Utilisation de SQL brut avec Doctrine
- 4. Utilisation des champs d'URL dans la doctrine
- 5. Algorithme Adaboost et son utilisation dans la détection de visage
- 6. Qu'est-ce qu'un gestionnaire générique dans asp.net et son utilisation?
- 7. Dessin DAO et son utilisation sur plusieurs tables
- 8. Doctrine SQL et instructions préparées
- 9. Validation de Doctrine et Zend_Form
- 10. [Smarty, et peut-être doctrine]
- 11. PHP Doctrine relations et l'héritage
- 12. Utilisation de Doctrine avec des vues - champ 'id' dud généré
- 13. Utilisation de sous-requêtes avec doctrine/Erreurs avec des alias
- 14. Utilisation de la Doctrine avec la conception par domaine
- 15. Hibernate Envers for Doctrine?
- 16. Utilisation de Zend Framework et de Doctrine avec des structures modulaires indépendantes
- 17. Symfony en utilisant Doctrine et MySQL
- 18. Equivalent de doctrine setPeerCount
- 19. Utilisation simultanée d'AVAudioRecorder et d'AVAudioPlayer (ou d'autres manières d'écouter le son et de jouer)
- 20. montage Symfony et plusieurs à plusieurs (Doctrine)
- 21. Symfony et doctrine consultable sfDoctrinePager (symfony 1.4)
- 22. 8 octets Entier avec Doctrine et PHP
- 23. Doctrine 1.2 Unittesting et couverture de code
- 24. Opcode (APC/XCache), Zend, Doctrine et Autoloaders
- 25. Requêtes MySQL en utilisant Doctrine et CodeIgniter
- 26. zend framework et de la doctrine (accesseurs)
- 27. Zend Framework 1.9 et Doctrine Integration
- 28. LIKE et% Wildcard dans findBy * de Doctrine()
- 29. WPFtoolkit et son DatagridColumnHeader
- 30. Problème PHP Doctrine toArray
Je n'utiliserais pas Doctrine pour des tâches qui ne sont pas nécessaires ORM – Mchl
Pourquoi ne nous parlez-vous pas du scénario dans lequel vous envisagez d'utiliser Doctrine? Comme je le disais maintenant, il est assez difficile de répondre: je pourrais aussi bien répondre "Scraper un site web externe" - J'ai du mal à imaginer comment (et pourquoi) utiliser Doctrine ici (à moins que vous ne vouliez sauver le gratté données à une base de données) :) – jensgram
Hmm, trop lent. Je pense @Mchl ongles :) – jensgram