10
AVR

Medoo - Un mini framework PHP pour gérer vos bases de données

Publié le 10/04/13 à 09h07 par DJo

Medoo est un framework PHP léger permettant de gérer facilement plusieurs types de bases de données.

Medoo est un framework PHP léger permettant de gérer facilement plusieurs types de bases de données.

A la limite entre le mini ORM et la classe PHP bien pratique, Medoo vous permettra de gérer facilement les interactions avec vos bases de données dans vos applications PHP.

Plusieurs types de BDD sont supportées par la classe:

  • MySQL
  • SQLite
  • MSSQL
  • ...

Comme pour un ORM, nous disposons d'une multitude de méthode bien pratiques pour faire nos requêtes SQL:

  • Les méthodes classiques: Select, Update, Insert, Delete
  • Les méthodes pratiques: Replace, Get, Has
  • Les méthodes mathématiques et stats: Count, Max, Min, Avg, Sum
  • Les autres méthodes utilitaires et avancées: Query, Quote, Error, Last_query, Info, Version

La mise en place du framework PHP est très simple. Après avoir configuré les accès à la BDD, il suffit d'inclure puis d'initialiser la classe pour pouvoir l'utiliser:

// Include Medoo
require_once 'medoo.php';

// Initialize
$database = new medoo('my_database');

// Enjoy
$database->insert('account', [
    'user_name' => 'foo'
    'age' => 25,
    'lang' => ['en', 'fr', 'jp', 'cn']
]);

Une classe bien pratique si vous êtes amenés à faire du développement PHP from scratch sans Framework ou CMS.

Elle vous permettra de gagner du temps précieux et de vous assurer des problèmes de sécurité (Injection SQL prise en compte avec la classe).

 

Site Officiel

Baraguiné par hhamon le 10/04/13 à 09h21
hhamon via Twitter
Je déconseillerai de l'utiliser. Vouloir tout faire dans une seule classe n'est en rien un avantage, au contraire. Cet outil se vante de fonctionner sur différents types de bases de données mais je n'en crois pas un mot. Par exemple, il n'y a aucun test unitaire pour valider le code et montrer son fonctionnement sur différents gestionnaires de BDD.

Il suffit aussi de regarder comment sont construites les requêtes SQL pour savoir que cette classe ne supporte pas tous les SGBR mentionnés. La clause LIMIT par exemple n'est pas supportée sur SQL Server. Même chose sur Sybase.

Et il y a encore plein d'autres choses qui ne vont pas en terme de conception orientée objet dans cette classe.
Baraguiné par Domi le 15/04/13 à 08h52
Domi sur La Ferme du Web
J'aime bien le site de présentation du Framework. Sobre et clair.
Coté utilisation de l'outil, pour ma part je reste avec ma vingtaine de vieilles fonctions 'maison' (obsolètent depuis PHP 5.5.0). Sans doute un peu moins performante (?!), probablement moins puissantes, mais largement éprouvées et utilisables tout de suite sans apprentissage ;o). Ainsi je peut concentrer mes efforts ailleurs.
Baraguiné par AnaelFavre le 15/04/13 à 16h23
AnaelFavre sur La Ferme du Web
@hhamon Tu a vu l'âge a cette librairie ? Elle a été mise sur github il y a 16 jours. Normal qu'une lib aussi jeune (en version 0.8) ne soit pas complète et compatible avec tous les SGBD.

Testé et fonctionne parfaitement avec MySQL (ce qui sera l'utilisation de 95% des utilisateurs).

En plus sous licence MIT on ne peux pas cracher dessus :)
Baraguiné par Nekdev le 03/06/13 à 16h22
Nekdev via Twitter
Je n'en attendais pas moins de toi hhamon, et je suis tout à fait d'accord.

Le dbal de Doctrine fait le même job, avec plusieurs classes, donc en mieux.

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web