Précédent   Forum du club des développeurs et IT Pro > PHP > Outils
Outils Forum d'entraide sur les outils pour développeurs PHP : EDI, installation, administration... Avant de poster : FAQ outils, toutes les FAQ PHP et les comparatifs
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 19/02/2013, 14h20   #1
MaitrePylos
Responsable Livres

 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 588
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 40
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 588
Points : 8 834
Points : 8 834
Par défaut PostgreSQL / PHP Object Model Manager

Bonjour, voici un article de Grégoire HUBERT sur son outil POMM

Citation:
Pomm est un gestionnaire de modèle objet dédié au moteur de base de données PostgreSQL. Qu'est-ce qu'un gestionnaire de modèle objet ?

C'est avant tout un hydrateur d'objets qui utilise un convertisseur entre PHP et PostgreSQL pour assurer qu'un booléen dans Postgres sera vu depuis PHP comme tel, de même pour les tableaux, le type clé -> valeur 'HStore', les types géométriques, XML, JSON, etc.

Cette fonctionnalité de conversion est très importante, car le typage dans PostgreSQL est un élément incontournable de la définition du schéma par contrainte. La possibilité d'enrichir PostgreSQL avec des types personnalisés est prise en compte.

C'est également un gestionnaire de modèle orienté objet car Pomm crée des classes de mapping qui lient les structures SQL avec des objets PHP. Nous verrons là encore les grosses différences entre Pomm et les ORM classiques et comment utiliser la puissance du SQL de Postgres au service d'une petite application.

Qu'en pensez-vous ?
L'utilisez-vous ?
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 21/02/2013, 11h05   #2
frinux
Membre régulier
 
Inscription : septembre 2008
Messages : 174
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 174
Points : 89
Points : 89
Par défaut POMM n'est pas un ORM

C'est quand même formidable de lire le titre "Un ORM PHP pour PostgreSQL" et, quand on arrive sur la page d'accueil du projet, lire "Pomm is not an ORM"...

Pour ma part je ne suis pas fan de ce genre d'outil, qui est trop lié à une base de donnée précise.
__________________
frinux
frinux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 11h08   #3
MaitrePylos
Responsable Livres

 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 588
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 40
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 588
Points : 8 834
Points : 8 834
Où as-tu lu 'Un ORM PHP pour PostgreSQL' ?
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 11h40   #4
frinux
Membre régulier
 
Inscription : septembre 2008
Messages : 174
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 174
Points : 89
Points : 89
cf PJ
__________________
frinux
frinux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2013, 12h02   #5
MaitrePylos
Responsable Livres

 
Avatar de MaitrePylos
 
Homme Gérard Ernaelsten
DBA & Dev PHP
Inscription : juin 2005
Messages : 3 588
Détails du profil
Informations personnelles :
Nom : Homme Gérard Ernaelsten
Âge : 40
Localisation : Belgique

Informations professionnelles :
Activité : DBA & Dev PHP
Secteur : Service public

Informations forums :
Inscription : juin 2005
Messages : 3 588
Points : 8 834
Points : 8 834
oki merci.
MaitrePylos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 13h25   #6
chanmix51
Invité de passage
 
Homme
Inscription : février 2013
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : février 2013
Messages : 1
Points : 1
Points : 1
Citation:
Envoyé par frinux Voir le message
Pour ma part je ne suis pas fan de ce genre d'outil, qui est trop lié à une base de donnée précise.
Bonjour Frinux,

La mode est effectivement à l'abstraction de la base de données qu'on appelle aujourd'hui « couche de persistance de données ». Cela, à mon sens pose plusieurs problèmes d'ordre pratique car la base de données est la charnière entre le monde physique (comment je stocke sur le disque, structure et retrouve les données) et le monde virtuelle (code) dans lequel les programmeurs se réfugient.

S'abstraire de sources de données peut avoir un sens sur un serveur d'applications où un service de gestion des données va gérer des bases de données (relationnelles, hiérarchiques), des flux web services etc. Ce service va rester opérationnel entre chaque sollicitation et entretenir une couche de cache qui va d'une part permettre d'améliorer les performances mais aussi délivrer la même instance d'un objet métier pour deux mêmes requêtes.

Dans le monde PHP il n'en est pas de même car l'ensemble de la couche d'abstraction est interprétée à chaque appel et la majorité des projets n'utilisent qu'une source de données : une base de données relationnelle (ou un ersatz). Dans ces conditions, un ORM ne va permettre de profiter que du plus petit commun ensemble de fonctionnalités partagé entre les différents moteurs.

C'est un peu comme si j'avais un 4x4 et une formule 1, que je les abstrayais en « véhicule » et ne leur laissais que "avancer, reculer, tourner et freiner". L'un va avoir un rendement très mauvais sur autoroute, l'autre sur terrain gras sans qu'on puisse profiter des avantages propres à chacun quand ils sont sur leur terrain de prédilection. Développer comme cela revient à demander à un "véhicule" d'aller d'un point A à un point B sans tenir compte du terrain.

Dans certains cas, il se peut que l'on ait besoin de s'abstraire des sources de données. Si vous faîtes un moteur de blogs, une plate-forme CMS ou autre produit générique par exemple car vous ne savez pas sur quelle socle technique sera déployée votre application. Le prix à payer pour cela est une couche d'abstraction en PHP lente et peu optimisée. Pourquoi payer ce prix sans avoir ce besoin ?

Amicalement,
Grégoire
chanmix51 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h29.


 
 
 
 
Partenaires

Hébergement Web