Maison > développement back-end > tutoriel php > Explication détaillée de l'utilisation du framework ORM en PHP

Explication détaillée de l'utilisation du framework ORM en PHP

WBOY
Libérer: 2023-06-23 13:48:01
original
1746 Les gens l'ont consulté

Le framework ORM (Object-Relational Mapping) est une technologie utilisée pour mapper des modèles d'objet dans des langages de programmation orientés objet vers des bases de données relationnelles. Il permet aux développeurs d'exploiter des bases de données de manière orientée objet sans utiliser directement le langage SQL. Dans le domaine du développement PHP, le framework ORM a également été largement utilisé. Cet article présentera en détail comment utiliser le framework ORM en PHP.

1. Avantages du framework ORM
L'utilisation du framework ORM présente les avantages suivants :

1. Améliorer l'efficacité du développement : le framework ORM peut masquer les détails techniques de la base de données, simplifier le processus de mise en œuvre du code d'accès aux données et améliorer efficacement l'efficacité du développement.

2. Rendre le code plus modulaire : le framework ORM peut encapsuler le modèle de données, rendant le code plus modulaire et plus facile à maintenir.

3. Réduire la complexité du code : le framework ORM résume la complexité des instructions SQL, réduisant considérablement la complexité du code et facilitant son fonctionnement pour les développeurs.

2. Frameworks ORM couramment utilisés
Dans le domaine du développement PHP, il existe de nombreux frameworks ORM parmi lesquels choisir :

  1. Doctrine : Doctrine est un framework ORM puissant qui fournit des opérations CRUD complètes. , prenant en charge plusieurs types de bases de données. Vous devez apprendre certaines règles de configuration et d'utilisation pendant l'utilisation.
  2. Propel : Propel est un framework ORM facile à apprendre et à utiliser. Il prend en charge plusieurs types de bases de données et fournit diverses fonctions de requête et d'exploitation. Les développeurs peuvent rapidement mettre en œuvre divers besoins d'exploitation de données.
  3. Laravel Eloquent : Laravel Eloquent est le composant ORM du framework Laravel. Il fournit une API d'exploitation de données pratique et est largement utilisé dans le développement de Laravel.

3. Utilisation du framework ORM
Ensuite, nous utiliserons le framework Doctrine ORM et la base de données MySQL comme exemples pour présenter l'utilisation du framework ORM.

1. Installer Doctrine
Vous pouvez installer le framework Doctrine ORM via Composer, utilisez la commande suivante pour l'installer :

composer require doctrine/orm

2 Configurer la base de données de connexion
Avant d'utiliser Doctrine pour les opérations de données, vous devez. connectez-le à une base de données relationnelle. Dans le fichier config.php, ajoutez les informations de configuration de base de données suivantes :

use DoctrineORMToolsSetup;
use DoctrineORMEntityManager;

require_once "vendor/autoload.php";

$isDevMode = true;
$config = Setup::createAnnotationMetadataConfiguration( array (__DIR__."/src"), $isDevMode);

$conn = array(

'driver' => 'pdo_mysql',
'host' => 'localhost',
'port' => 3306,
'dbname' => 'test_db',
'user' => 'root',
'password' => 'root',
Copier après la connexion

);

$entityManager = EntityManager::create($conn, $config);

La variable $config ici sont les options de configuration pour Doctrine ORM. La fonction createAnnotationMetadataConfiguration() transmet le répertoire où se trouvent les classes d'entités à la configuration, permettant à Doctrine de savoir où elles se trouvent. La variable $conn correspond aux informations de connexion à la base de données, qui indiquent à Doctrine comment se connecter à la base de données MySQL.

3. Définir les classes d'entités
Dans Doctrine, les classes d'entités correspondent aux tables des bases de données relationnelles, et vous devez utiliser l'annotation @Entity pour annoter les classes d'entités, c'est-à-dire :

utiliser DoctrineORMMapping comme ORM ;

/**

  • @ORMEntity
  • @ORMTable(name="users")
    */

class User
{

/**
 * @ORMId
 * @ORMGeneratedValue
 * @ORMColumn(type="integer")
 */
private $id;

/**
 * @ORMColumn(type="string")
 */
private $name;

/**
 * @ORMColumn(type="string")
 */
private $email;

public function getId()
{
    return $this->id;
}

public function getName()
{
    return $this->name;
}

public function setName($name)
{
    $this->name = $name;
}

public function getEmail()
{
    return $this->email;
}

public function setEmail($email)
{
    $this->email = $email;
}
Copier après la connexion

}

La classe User ici est une classe d'entité simple. Elle a un attribut $id, qui est un type entier à croissance automatique et est annoté avec l'annotation @Id. . Chaque annotation @ORMColumn dans une classe d'entité définit une colonne dont le type et le nom correspondent au nom et au type de colonne dans la base de données relationnelle.

4. Effectuer des opérations sur les données
L'utilisation de Doctrine pour les opérations sur les données peut être effectuée via l'instance EntityManager, par exemple :

$user = new User();
$user->setName('UserName');
$user -> setEmail('user@email.com');

$entityManager->persist($user);
$entityManager->flush();

Ici, un nouvel enregistrement est créé en instanciant un utilisateur Et ajoutez-le à la file d'attente des opérations de Doctrine via la méthode $entityManager->persist(), puis enregistrez les données dans la base de données via la méthode $entityManager->flush().

Si vous avez besoin d'obtenir des données, vous pouvez utiliser la méthode $entityManager->getRepository() pour obtenir l'objet référentiel de la classe d'entité. L'objet référentiel de la classe d'entité fournit diverses méthodes pour interroger les enregistrements de la base de données. Par exemple, pour obtenir les données d'un utilisateur nommé "UserName", vous utiliserez la commande suivante :

$userRepository = $entityManager->getRepository(User::class);
$theUser = $userRepository->findOneBy( [' name' => 'UserName']);

La variable $theUser est utilisée ici pour stocker les résultats de la requête, et la méthode findOneBy() utilise la condition de requête spécifiée (dans ce cas, l'attribut name est égal à " UserName") pour trouver un seul résultat.

4. Résumé
L'utilisation du framework ORM peut considérablement améliorer l'efficacité du développement, réduire la complexité du code et améliorer la maintenabilité du code. Dans le domaine du développement PHP, Doctrine, Propel et Laravel Eloquent sont tous des frameworks ORM largement utilisés. Pour utiliser le framework ORM, vous devez d'abord vous connecter à la base de données, définir des classes d'entités, puis utiliser des objets du référentiel pour opérer sur la base de données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal