Salut a tous,

J'ai découvert par hasard en cours de PHP cette librairie, et elle simplifie bien la vie pour les requêtes SQL faites sous PDO. Alors je me suis dis pourquoi Grafikart ne ferai pas un tuto dessus ? Ça pourrait servir à plusieurs personnes désireuse d'aller bien plus vite lorsqu'ils tapent leurs requêtes SQL.

Voici le lien du site : http://www.notorm.com/

Si y'en a qui sont intéressé qu'ils se manifestent.

Merci.

6 réponses


Si tu sais utiliser codeigniter alors tu sais utiliser notorm. Notorm est simplement une librairie de class abstractive à la bdd. C'est un pattern d'abstraction de premier niveau, je ne sais pas si concrètement c'est très utile d'apprendre à s'en servir étant donné que c'est relativement very simple.
Quand les ORM on fait surface (notamment grâce à l'arrivé des Symfony 1), on utiliser un pattern de type ActiveRecord (c'est aussi un pattern dérivé d'activerecord qu'utilie codeigniter même si je ne suis pas très d'accord avec eux), l'activeRecord c'est bien mais sur de grosses application avec toujours un bute de réutilisabilité, on est passé (pour certain framework) à des ORM avec comme design pattern DataMapper. Cela permet un interopérabilité plus élevé lorsque l'on désire créer d'autres grosses applications basés sur la première. Ce que utilise maintenant Doctrine2 et Symfony2, perso je n'ai pas encore assez de recule pour faire un constat, mais selon le projet il vaut mieux se pencher dessus.
Sous Zend framework tu as un équivalent de class abstractive sql (Zend_DB), mais en plus avancé qui te permet de faire cela aussi. Effectivement on peut se passer d'ORM dans bon nombre de projet que j'ai pu entendre ou voir.

Je n'ai jamais utilisé CodeIgniter donc pour moi c’était plutôt nouveau. Et comparait à Doctrine2, NotORM est plus rapide. Enfin je trouve. C'est pour ca que j'ai proposé cette idée. Mais bon si jamais elle n'est pas retenue c'est pas dramatique.

En fait la comparaison que le développeur fait entre NotOrm et Doctrine2 est plutôt faussé et réductrice. Soit, il montre comment notorm fonctionne derrière mais sur des petites requêts notorm sera plus rapide, mais lorsque l'on atteint un gros volume de requête doctrine2 est plus rapide et moins gourmand en ressource, surtout sur un datamapping (plus pratique pour la portabilité des requêtes d'un projet à un autre). Comme souvent on peut le lire, certain veulent se mettre à zend ou symfony pour créer des petits blogs ou petit site mais cela n'en vaut pas du tout le coup car ils n'ont pas cette vocation (quoi que zend peut s'utilisé en librairie). Comme j'ai pu voir aussi dans des entreprises où MSSQL était plus performant que MySQL, c'était vrai avant, maintenant MySQL peut largement soutenir de forte charges (surtout MariaDB qui devient plus performant que MySQL).
Tu veux utiliser NotOrm dans quel type de projet et circonstance ?

C'est pour un projet de cours, on doit réaliser un Akinator Like. Et le prof nous a dit de regarder NotORM pour faire les requêtes.

NotORM est plus simple à mettre en place que Doctrine2 c'est certain (quoi que doctrine bénéficie d'une bonne doc pour l'installation from scratch).
C'est plutôt simple à mettre en place, une fois la librairie inclus et instancié tu bénéficies de toutes les méthodes de la librairie NotOrm.
si vous n'utilisez pas de framework, où vous utilisez un appelle classique d'inclusion de librairie tel que require_once 'NotOrm.php', ou encore mieux vous vous créez votre autoload de class, avec la class spl_autoload bien entendu et non __autoload classique.
Si on part plus loin (toujours sans framework), il vous faut concevoir un design pattern Factory afin d'instancier les class automatiquement avec votre système d'autoload enfin voilà.

Non on n'utilise pas de Framework. Merci du conseil, je vais faire part de tes dire à mes camarades.
Merci