Developpez.com - Rubrique PHP

Le Club des Développeurs et IT Pro

RedBean : Object Relational Maping (ORM) à la volée pour PHP

Le 2009-11-16 17:21:22, par RideKick, Rédacteur
L'idée :

RedBean mapper de bases de données léger. L'idée centrale de RedBean est le bean (haricot ) Un bean est un simple objet qui agit comme une conteneur de données; RedBean possède 2 modes de fonctionnement : fluide ou gelé, Par défaut RedBean fonctionne en mode fluide, c'est à dire que vous pouvez simplement stocker un bean dans votre base de données quel qu'il soit et RedBean adaptera le schéma en conséquence si besoin. Si vous avez déjà développé vous pouvez geler RedBean et le déployer sur les serveurs de production.

La philosophie est simple : si vous lui donnez un bean il le stockera en base quelque soit le bean.

Quels sont les avantages :

- Pas de configuration , simplement les logs de la base et en avant !
- Prêt à être utilisé.
- Pas de schéma compliqué, RedBean se charge de tout.
- Très peu de méthodes, le rendant simple d'utilisation.

Le site de RedBean

L'avez vous testé ?
  Discussion forum
12 commentaires
  • dorian53
    Membre habitué
    Je ne connais pas du tout, j'attends les premiers retours avec impatience (syntaxe, performances, pérennité du projet, etc...).

    Si d'ailleurs vous pouviez établir la comparaison avec Doctrine qui est en vogue en ce moment...
  • gannher
    Membre averti
    Je suis allé sur leur site et honnêtement ça donne vraiment pas envie.

    Ce n'est pas pratique pour un site de documentation.

    Et ils donnent un exemple de CMS en 42 lignes de code PHP. Quand on regarde le code, on voit le HTML et le PHP mélangé sans aucune différence entre la partie données et l'affichage.
    Alors ce n'est qu'un exemple mais quand même ...

    Ca ne m'a pas donné envie d'aller plus loin mais bon histoire de ne pas m'arreter à ce genre de détails, je le testerai quand même.
  • Moue... non, ca a l'air un peu leger quand meme. ce que j'aime pas dans les solution actuel d'ORM c'est l'abscence de la notion de cache et (avec doctrine) la trop grand complexite de le faire marcher avec une base de donnee deja existant. Si seulement j'avait plus de temps et pouvais continuer le miens
  • dorian53
    Membre habitué
    Quelle complexité ?
  • par exemple: http://www.doctrine-project.org/docu...erating-models,car c'est l'orm de reference en php, pour toi ca c'est pas complexe ? je dis pas que c'est insurmontable, mais franchement quand je vois ca et je me dit que je vais devoir le faire plus de 100 fois car ma bdd et enorme ... ba non merci
  • dorian53
    Membre habitué
    Tous les modèles sont générés automatiquement soit à partir de ta base soit à partir d'un fichier Yaml par exemple.

    Code :
    Doctrine_Core::generateModelsFromDb('models', array('doctrine'), array('generateTableClasses' => true));
    Y'a plus complexe quand même ?
  • oue mais ta tout les YAML truc machin a ecrire etc...
  • dorian53
    Membre habitué
    Non, c'est soit l'un soit l'autre.

    Soit tu génères à partir de la base de données, soit à partir de fichiers Yaml.
  • Oscar Hiboux
    Membre averti
    Je ne fais que passer et proposer PHP-ActiveRecord. C'est une sorte de portage du système Ruby. Je l'utilise depuis peu et je n'ai pas grand-chose à redire : c'est simple, efficace et ça me permet de ne pas mélanger mes objets métier avec les classe modèle. Il n'y a rien besoin d'écrire comme configuration, un vrai bonheur !

    Là où ça se complique c'est que ça ne fonctionne qu'avec PHP 5.3 et je sais que rares sont encore ceux qui l'utilisent.

    Par coincidence j'ai jeté un oeil à Doctrine et RedBean il n'y a pas si longtemps et j'ai trouvé le premier assez lourd (même s'il a l'air assez complet) et je n'ai pas eu bcp de temps pour étudier RedBean qui a l'air assez intéressant.
  • RideKick
    Rédacteur
    Ce qui serait intéressant serait d'avoir un petit retour sur les performances de chacun, avec pour référence des requêtes standards (entendez sans ORM juste avec les fonctions mysqli* natives)