Découvrez 4 ORM en Ruby et PHP pour travailler avec vos bases de données

Le 23/04/2013

Dans Développement

Aujourd’hui, le Blog du Webdesign vous propose une liste d’ORM pour vous simplifier le travail avec vos bases de données.

Qu’est ce qu’un ORM ?

Connaissez-vous les ORM ? Cet acronyme signifie Object Relational Mapping. Il s’agit d’outils simplifiant la gestion de votre base de données en la mappant de façon à pouvoir traiter tous ses enregistrements comme des objets. Cela n’a peut-être l’air de rien quand on ne connaît pas, mais les avantages sont légion.

  • Pour commencer, on n’écrit (presque) plus aucune ligne SQL soi-même. Cela permet d’éviter d’oublier de sanitize un argument, et donc de laisser une faille SQL grosse comme le bras dans votre site ou application. De plus, les enchainements de méthodes sont quand même bien plus simples à lire que les query SQL correspondantes.
  • Il est possible de définir des relations entre les objets : Qui appartient à qui, qui possède quoi. Après ça, il est très simple d’accéder à la liste d’articles d’un auteur, par exemple, et ce en une seule petite ligne.
  • Ils permettent de séparer le code correspondant aux instances de vos enregistrements du reste de la page. Et croyez moi, ranger son code, c’est important, même si la plupart des ressources PHP que vous trouverez dans la nature tendent à prouver le contraire.
  • Ils permettent une séparation très claire entre la base de données utilise et les commandes. Comme cela, passer de mysql à postgres ne sera pas plus compliqué que de changer l’adaptateur entre votre ORM et votre base de données.

J’ajouterais aussi, bien que ce ne soit pas réellement un avantage au sens propre : Tous les frameworks ou presque en utilisent un. Donc apprendre à les connaitre et à les utiliser ne sera pas perdu, cela vous simplifiera la tâche quand vous aurez à apprendre à utiliser un Framework.

Quelques ORM pour en savoir plus

Pour finir, voila quelques ressources pour vous aider a démarrer : 4 ORM en ruby et PHP

Redbean (php)

Propel (php)

doctrine (php)

Datamapper (ruby)