Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/06/2007, 15h33   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2002
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 32
Points : 10
Points : 10
Par défaut Question et aide pour choisir un ORM

Bonjour,

Actuellement je prépare doucement un projet et je me renseigne un peux pour trouver des outils qui me permettront de consolider mon développement vue que pour l'instant c'est un peux comme cela me vien.

Je suis tomber entre autres sur cette article :

http://pn-mougel.developpez.com/tutoriels/php/orm/

Cette petit présentation m'a intéresser, car j'aime bien tout ce qui est objet et je n'est pas eux jusqu'ici vraiment l'occasion de les utiliser...

Mais cela ma aussi fait me poser des question :

- Tout d'abord en terme de performance. Certes je sais une couche supplémentaire c'est automatiquement des performance à la baisse. Mais jusqu'à qu'elle point. Par exemple si j'ai 1000 article avec chaque un 30 info dont une ou deux gros bloc de text et que je fait une recherche sur la référence, il vas tout charger dans des objet ou il nous fait juste un simple sql? Le cas inverse si j'ai besoin des infos d'un article que j'utilise un à la fois, il fait une requête à la fois ou une seul requête pour tout? En fait ce que je voudrais savoir c'est si l'ORM vas chercher à optimiser les accès à la base de donnée et l'occupation mémoire, ou alors pas d'optimisation et en fonction de ce que je fait cela peux être la grosse catastrophe?

- Ensuite dans l'exemple donner de EZPDO je vois que pour définir une table on crée une classe :
Code :
1
2
3
4
5
6
7
8
9
10
/**
 * Classe pour un film
 * Ce paramètre est à utiliser uniquement si le dns est différent de celui utilisé par défaut
 * @orm MonLogin:MonMdp@Serveur/BaseDeDonnées
 */
class Film {
  /**
   * @orm char(64)
   */
  public $nom;
Je voulais savoir si on pouvais également définir nous même nos propre méthode, ou si on ne pouvais définir que des élément de la base de donnée?

- Dans l'article il est dit que EZPDO était une solution présentant des lacune, mais plutot simple... Je voulais savoir ce que l'on pouvais me conseiller. Si possible pas trop compliquer et asser complet, avec des ressource en français, car l'anglais un peux mes pas tout une doc...

PS : J'espére avoir était sufisament claire et pas trop hors sujet. Sinon je m'escuse pour l'orthographe, je sais...
jv2759 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2007, 09h45   #2
Membre du Club
 
Inscription : juillet 2003
Messages : 99
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 99
Points : 50
Points : 50
Salut,

Les ORM en php ne sont pas encore très développés par rapport à ceux en java par exemple mais (malgré que je n'en ai utilisé aucun) je te conseil http://www.phpdoctrine.org/trac qui à l'air complet, dispose d'un système de cache et est sponsorisé par le "google summer of code" et devrait devenir un projet pear ce qui devrait lui assurer son avenir !

De plus la documentation est complète ce qui est important !

Pour l'ORM, en général les requêtes ne sont pas optimisées et ils font des SELECT * ou équivalent mais tu peux toujours faire des requêtes SQL à la main en général pour les parties qui nécessitent une optimisation poussée.

@+
tidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2007, 18h02   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2002
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 32
Points : 10
Points : 10
Citation:
Envoyé par tidou
Salut,

Les ORM en php ne sont pas encore très développés par rapport à ceux en java par exemple mais (malgré que je n'en ai utilisé aucun) je te conseil http://www.phpdoctrine.org/trac qui à l'air complet, dispose d'un système de cache et est sponsorisé par le "google summer of code" et devrait devenir un projet pear ce qui devrait lui assurer son avenir !
Merci je vais essayer de voir ce projet...

Citation:
Envoyé par tidou
De plus la documentation est complète ce qui est important !
Le probléme c'est que cela semble aussi tout en anglais, et c'est vraiment plus dure d'acces.

Citation:
Envoyé par tidou
Pour l'ORM, en général les requêtes ne sont pas optimisées et ils font des SELECT * ou équivalent mais tu peux toujours faire des requêtes SQL à la main en général pour les parties qui nécessitent une optimisation poussée.

@+
C'est vraiment un domaine qui ne me rassure pas trop. Car je ne veux pas m'ammuser à faire des optimisation en sql, c'est tout ou rien, voir meme pour moi aujourd'hui je connais mieux le sql que les orm. Donc ils est plus simple de continuer avec du sql plutot qu'aprendre un orm. Pour moi l'avantage d'un orm c'est une programation orienter objet plus facile et une abstraction totale par rapport à un sgbd. Mais inverssement si cela veux dire apprendre à gérer les performence de l'orm pour devoir me préocuper de la base de donnée pour optimiser, alors l'interrais et fortement moindre...

Je te remerci je vais essayer de voir cette orm...
jv2759 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2007, 23h09   #4
Membre du Club
 
Inscription : juillet 2003
Messages : 99
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 99
Points : 50
Points : 50
Citation:
Envoyé par jv2759
Pour moi l'avantage d'un orm c'est une programation orienter objet plus facile et une abstraction totale par rapport à un sgbd. Mais inverssement si cela veux dire apprendre à gérer les performence de l'orm pour devoir me préocuper de la base de donnée pour optimiser, alors l'interrais et fortement moindre...
Derien mais en faite un ORM te permet surtout de générer automatiquement les opérations CRUD (Create, Read, Update, Delete) qui est une tâche répétitive et longue à faire dans tout programme avec une base de données ce qui te permet donc d'être bien plus productif (une fois que tu sais bien faire le mapping O/R).

Voilà voilà
tidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 03h56   #5
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Tout chaud d'il y a quelques heures, voici une màj de la FAQ PHP : http://php.developpez.com/faq/?page=bdd
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 12h18   #6
Candidat au titre de Membre du Club
 
Inscription : mars 2002
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 32
Points : 10
Points : 10
merci je vais voir ce que je peux faire avec tout cela...
jv2759 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h40.


 
 
 
 
Partenaires

Hébergement Web