Database
 sql >> Base de données >  >> RDS >> Database

Comparaison des couches d'abstraction de base de données PHP et des plugins CRUD

Dans cet article, nous allons examiner différentes couches d'abstraction de base de données pour PHP. Nous examinerons également quelques plugins de base de données PHP CRUD qui pourraient vous faciliter la vie lorsque vous interagissez avec une base de données MySQL.

Qu'est-ce qu'une couche d'abstraction de base de données ?

Comme son nom l'indique, une couche d'abstraction de base de données est une couche située entre votre application et la base de données sous-jacente. Vous utiliserez une couche d'abstraction de base de données pour interagir avec votre base de données. L'avantage de la couche d'abstraction de base de données est que vous pouvez changer de back-end de base de données sous-jacente sans vous soucier des modifications de code dans votre application. Une couche d'abstraction de base de données simplifie également le code de la base de données et facilite la connexion et la mise à jour de la base de données.

Prenons un exemple pour comprendre cela. Supposons que vous ayez choisi MySQL comme back-end de base de données dans la phase initiale du développement de votre application. Vous n'utilisez aucune couche d'abstraction de base de données dans votre application, vous finirez donc par écrire du code spécifique au back-end MySQL lorsque vous effectuerez des opérations de base de données.

Que se passe-t-il si, pour une raison quelconque, vous devez changer votre back-end de base de données de MySQL à Oracle ? Ce changement ne va pas être facile. La première chose que vous devrez faire est de revoir chaque élément du code spécifique à MySQL dans votre application. Vous devrez parcourir chaque ligne de code qui interagit avec le back-end de la base de données MySQL et la remplacer par le code équivalent pour la nouvelle base de données.

D'un autre côté, si vous avez utilisé une couche d'abstraction de base de données pour interagir avec le back-end de la base de données, le passage à un autre back-end de base de données compatible ODBC se fait en un clin d'œil. Il vous suffit de modifier les paramètres de connexion pour refléter le nouveau back-end de la base de données. Ainsi, comme vous pouvez le voir, une couche d'abstraction de base de données masque la complexité en vous permettant de parler à différents back-ends de base de données.

Jetez un œil au diagramme suivant pour comprendre ce dont nous avons discuté jusqu'à présent.

Comme vous pouvez le voir, la couche d'abstraction de la base de données se situe entre l'application et la base de données réelle, de sorte que l'application n'a pas besoin de connaître les spécificités du fonctionnement de la base de données sous-jacente.

Options de la couche d'abstraction de la base de données

Ensuite, nous allons examiner quelques options que vous pourriez utiliser dans votre développement d'applications au quotidien. Voyons rapidement les options dont nous allons discuter dans la suite de l'article.

  • AOP
  • Doctrine DBAL
  • ADOdb
  • PDOModél :abstraction de base de données et classe PHP d'assistance
  • Système de gestion de données xCRUD
  • PDO Crud :application PHP CRUD avancée

Les trois premières options - PDO, Doctrine DBAL et ADOdb - sont des options open source populaires et gratuites. Les trois autres sont des options commerciales disponibles auprès de CodeCanyon, vous devrez donc les payer si vous souhaitez les utiliser. D'autre part, ceux-ci offrent de nombreuses fonctionnalités qui vous permettent de configurer rapidement un échafaudage de base dans vos applications. De plus, leur prix est raisonnable par rapport à ce qu'ils proposent, comme nous le verrons plus loin dans cet article.

Un aperçu rapide des options populaires et gratuites

Dans cette section, nous examinerons quelques options populaires et gratuites que vous pourriez utiliser comme couche d'abstraction de base de données dans vos applications PHP.

AOP

La bibliothèque PDO (PHP data objects) est une extension PHP qui fournit une interface pour travailler avec différents back-ends de base de données. Pour utiliser PDO, vous devez installer les pilotes PDO spécifiques à la base de données que vous souhaitez utiliser dans vos applications.

Donc, si vous voulez travailler avec la base de données MySQL en utilisant l'extension PDO, vous devrez vous assurer que vous avez activé l'extension php_pdo, qui est une extension PDO principale, et l'extension pdo_mysql, qui vous permet de parler au Serveur MySQL utilisant la couche d'abstraction de la base de données PDO.

Bien sûr, si vous souhaitez travailler avec une base de données autre que MySQL, vous devrez installer l'extension pdo pour cette base de données principale. Pour plus d'informations sur les pilotes de base de données pris en charge dans PDO, vous pouvez visiter la page des pilotes PDO dans le manuel PDF, qui comprend tout ce que vous devez savoir.

Doctrine DBAL

La bibliothèque Doctrine DBAL (couche d'abstraction de base de données) est une autre bibliothèque d'abstraction de base de données populaire qui fournit un wrapper autour de PDO. Doctrine DBAL fournit des méthodes d'API faciles à utiliser et quelques fonctionnalités supplémentaires par rapport à l'utilisation de l'extension PDO pure seule.

La liste des fournisseurs de bases de données pris en charge par Doctrine DBAL est :

  • MySQL
  • Oracle
  • Microsoft SQL Server
  • PostgreSQL
  • SAP Sybase SQL Anywhere
  • SQLite
  • Bruine

Doctrine DBAL est développé dans le cadre du projet Doctrine, qui fournit également un ORM (object-relational mapper) qui se trouve au-dessus de Doctrine DBAL. L'ORM Doctrine est un outil qui vous permet d'écrire des requêtes de base de données de manière orientée objet. En fait, l'ORM lui-même est un vaste sujet, nous n'entrerons donc pas dans les détails ici, mais j'écrirai un article sur l'ORM à l'avenir.

ADOdb

Enfin, ADOdb est une bibliothèque de classes très populaire et un acteur très ancien sur ce territoire. Il s'agit d'une bibliothèque externe que vous devrez d'abord télécharger et configurer avec votre configuration si vous souhaitez l'utiliser. ADOdb prend également en charge une large gamme de bases de données parmi lesquelles choisir comme back-end de votre base de données.

En plus de fournir des composants pour interroger et mettre à jour la base de données, il fournit également la bibliothèque Active Record orientée objet, qui fonctionne comme un ORM de la même manière que nous avons discuté précédemment dans la section Doctrine ORM.

En outre, vous devrez installer les pilotes correspondants pour les back-ends de base de données pour cette bibliothèque, de la même manière que vous le feriez pour l'extension PDO. Par exemple, si vous souhaitez travailler avec une base de données MySQL, vous devrez installer le pilote mysqli en PHP.

C'était donc un aperçu rapide de quelques options gratuites utiles. Dans la section suivante, nous examinerons quelques options commerciales populaires qui offrent bien plus de fonctionnalités que la simple abstraction de base de données.

Meilleurs scripts d'abstraction de base de données PHP à acheter

Dans cette section, nous aborderons quelques options avancées que vous pouvez choisir pour une bibliothèque d'abstraction de base de données. En fait, les options que nous avons choisies ne fonctionneront pas seulement comme une bibliothèque d'abstraction de base de données, elles fournissent beaucoup plus que ça.

PDOModél :abstraction de base de données et classe PHP d'assistance

La bibliothèque PDOModel est une abstraction de base de données et une classe PHP d'assistance qui est construite au-dessus de l'extension PDO. C'est un excellent wrapper qui vous permet d'effectuer des opérations d'insertion, de mise à jour, de suppression et de sélection sans écrire de requêtes SQL. Il apporte ainsi simplicité et lisibilité. En fait, il fournit des fonctions d'encapsulation qui vous permettent d'effectuer des opérations complexes à l'aide de fonctions simples sans écrire de véritables requêtes SQL.

Pour le moment, il prend en charge les bases de données MySQL, Postgres, SQlite et SQL Server. Il prend en charge les transactions et les opérations par lots, ce qui est une fonctionnalité essentielle si vous souhaitez importer une base de données à partir d'une source externe. La cerise sur le gâteau est qu'il vous permet d'exporter des données vers des formats tels que CSV, Excel, PDF, XML, etc.

Jetons un coup d'œil au code suivant, qui montre à quel point il est facile d'utiliser l'assistant PDOModel.

<?php
// initialize the PDOModel class
$pdoModelObj = new PDOModel(); 

// connect to a database
$pdoModelObj->connect("host", "username", "password", "database_name");

// querying database [select * FROM users]
$result = $pdoModelObj->select("users");

Donc, comme vous pouvez le voir, c'est un jeu d'enfant d'effectuer des opérations de base de données à l'aide de la classe d'assistance PDOModel. Pour plus d'informations, vous pouvez visiter la page officielle de PDOModel sur CodeCanyon.

Les bibliothèques dont nous avons parlé jusqu'à présent étaient des couches d'abstraction de base de données, mais examinons également quelques plug-ins CRUD (créer, lire, mettre à jour et supprimer) qui vous permettent de générer facilement du code d'échafaudage.

xCRUD :système de gestion de données

xCRUD est un plugin générateur CRUD simple mais puissant écrit pour PHP et MySQL. Il vous permet de créer du code d'échafaudage de base en un rien de temps, et il est également utile pour les non-programmeurs. À la base, il utilise l'extension mysqli pour gérer différentes opérations de base de données. Mais vous n'avez pas à vous soucier des complexités sous-jacentes, il vous suffit d'utiliser les fonctions faciles à utiliser fournies par le système xCRUD.

Lors de l'utilisation du plugin xCRUD, il vous suffit de concevoir vos tables de base de données, et le plugin xCRUD s'occupera du reste. Avec seulement quelques lignes de code, vous aurez une interface utilisateur prête à l'emploi qui vous permettra de créer et de mettre à jour des enregistrements. Vous obtiendrez également une vue de liste qui répertorie tous les enregistrements.

Jetons un coup d'œil au code que vous devez écrire pour générer des méthodes CRUD pour la table des utilisateurs.

<?php
$xCRUD = Xcrud::get_instance();
$xCRUD->table('users');
echo $xCRUD->render();

N'est-ce pas chouette ? Avec seulement quelques lignes de code, vous avez généré le code d'échafaudage pour la table des utilisateurs. Et vous pouvez faire beaucoup plus avec ce plugin car il est livré avec de nombreuses fonctionnalités. Vous pouvez visiter la page officielle du plug-in sur CodeCanyon pour plus d'informations.

PDO CRUD :application PHP CRUD avancée

Enfin, regardons le plugin PDO CRUD, qui est également un plugin générateur CRUD qui prend en charge les bases de données MySQL, Postgres et SQLite. Avec seulement quelques lignes de code, ce plugin est capable de générer une interface utilisateur belle et attrayante, qui vous permet d'effectuer des opérations quotidiennes avec votre base de données sans effort.

Comme son nom l'indique, il ne s'agit pas seulement d'un générateur CRUD de base, mais plutôt d'un modèle complet pour une application de base de données. Jetons un coup d'œil à quelques-unes des fonctionnalités puissantes de ce plugin :

  • modifications en ligne
  • téléchargements de fichiers
  • prise en charge des plug-ins JavaScript
  • opérations de jointure
  • recherche, pagination et exportation
  • prise en charge multilingue
  • et bien d'autres

Et voici un aperçu du code que vous utiliseriez pour générer une interface CRUD de base :

<?php
$pdoCrudObject = new PDOcrud();
echo $pdoCrudObject->dbTable('users')->render();

C'est ça! Visitez la page officielle de ce plugin CRUD sur CodeCanyon pour avoir un aperçu de la puissance de ce plugin.