Maison >développement back-end >tutoriel php >Technologie ORM en PHP

Technologie ORM en PHP

王林
王林original
2023-05-23 12:31:461442parcourir

Avec la popularité croissante des applications Web, de plus en plus de personnes commencent à utiliser PHP comme langage de script côté serveur. PHP est devenu un langage courant pour le développement d'applications Web en raison de ses caractéristiques telles que la facilité d'apprentissage et d'utilisation, une efficacité de développement élevée et d'excellentes performances. Cependant, afin de mieux gérer la base de données, PHP doit s'appuyer sur la technologie ORM. Cet article présentera et analysera la technologie ORM en PHP.

  1. Qu'est-ce que la technologie ORM ?

ORM est l'abréviation de « Object Relational Mapping », qui est une technologie de mappage entre objets et bases de données relationnelles. En termes simples, ORM peut nous aider à mapper les données des bases de données relationnelles avec les objets de notre programme et à assurer la persistance des données.

L'avantage de la technologie ORM est que les programmeurs peuvent se concentrer sur la logique du programme sans prêter attention aux langages de requête de base de données (tels que SQL). ORM peut également terminer automatiquement le traitement de certaines relations entre les objets d'entité, telles que les requêtes de jointure ou les sous-requêtes, et le framework ORM peut nous aider à gérer les messages d'erreur lors de l'accès à la base de données, ce qui est simple et facile à utiliser.

  1. Frameworks ORM couramment utilisés en PHP

En PHP, il existe de nombreux frameworks ORM que nous pouvons utiliser. Cet article présentera les trois frameworks ORM les plus couramment utilisés en PHP :

(1) Doctrine

Doctrine est l'un des frameworks ORM les plus couramment utilisés dans la communauté PHP. Il est écrit dans un style entièrement orienté objet et fournit des fonctions telles que la gestion des exceptions, le traitement des transactions et l'association de modèles. Doctrine utilise une configuration de modèle flexible basée sur XML pour initialiser rapidement la base de données et générer les tables de base de données correspondantes.

(2) Eloquent

Eloquent est le framework ORM fourni avec le framework de développement Laravel. Il fournit un puissant générateur de requêtes et une relation de modèle. Eloquent utilise le mode Active Record pour faire fonctionner la base de données par défaut, ce qui rend son efficacité de développement extrêmement élevée.

(3) Propel

Propel est un autre framework ORM populaire dans la communauté PHP. Il fournit des fonctionnalités ORM complètes et deux modes, Active Record et Data Mapper. Propel dispose de puissantes fonctionnalités de schéma qui peuvent définir des mappages de classes et de tables à l'aide d'un simple YAML.

  1. Utilisation de base de l'ORM

Ensuite, nous présenterons l'utilisation de base de l'ORM, en prenant Eloquent comme exemple.

(1) Construire un modèle

Dans Eloquent, nous pouvons créer une classe PHP simple pour définir le modèle de table de données. Voici un exemple :

<?php
use IlluminateDatabaseEloquentModel;
class User extends Model
{
    protected $table = 'users';
}

Dans le code ci-dessus, nous définissons une classe User et héritons de la classe Model d'Eloquent. L'attribut $table définit le nom de la table de base de données correspondant au modèle.

(2) Interroger des données

Dans Eloquent, nous pouvons interroger des données de deux manières : directement en utilisant la classe de modèle ou en utilisant le générateur de requêtes.

Utilisez la classe modèle :

$user = User::find(1);
echo $user->name;

La méthode find() ici est la méthode encapsulée par Eloquent et est utilisée pour interroger l'enregistrement avec la clé primaire 1. Nous pouvons utiliser les propriétés qu'il contient.

Utilisez le générateur de requêtes :

$users = DB::table('users')->where('votes', '>', 100)->get();

Ici, nous utilisons le générateur de requêtes $query, qui peut nous aider à créer facilement des instructions de requête SQL.

(3) Ajouter et mettre à jour des données

Dans Eloquent, nous pouvons utiliser la méthode create() pour insérer un nouvel enregistrement dans la base de données :

$user = User::create(['name' => 'John Doe', 'email' => 'johndoe@example.com']);
# 🎜 🎜# Vous pouvez également utiliser la méthode save() pour mettre à jour un enregistrement existant :

$user = User::find(1);
$user->email = 'newemail@example.com';
$user->save();

(4) Supprimer les données

Dans Eloquent, on peut utiliser la méthode delete() Supprimer un enregistrement :

$user = User::find(1);
$user->delete();

(5) Association de modèles

Dans Eloquent, nous pouvons utiliser l'association de modèles pour nous aider à définir rapidement et simplement la relation entre les modèles. Par exemple, nous pouvons utiliser des relations un-à-un, un-à-plusieurs et plusieurs-à-plusieurs pour définir les relations entre les modèles. Voici un exemple :

<?php

namespace AppModels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    public function posts()
    {
        return $this->hasMany(Post::class);
    }
}

class Post extends Model
{
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

Comme le montre le code ci-dessus, nous pouvons utiliser les méthodes $hasMany et $belongsTo pour définir une relation un-à-plusieurs. Ici, chaque utilisateur peut avoir plusieurs articles, et chaque article n'appartient qu'à un seul utilisateur.

4. Résumé

Cet article présente et analyse la technologie ORM en PHP, y compris la définition de la technologie ORM, les frameworks ORM courants, l'utilisation de base de l'ORM et l'association de modèles, etc. La technologie ORM nous aide à mieux gérer les bases de données et rend le développement plus efficace et plus simple. Dans le développement réel, nous pouvons choisir un framework ORM approprié en fonction de besoins spécifiques et l'appliquer.

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!

Déclaration:
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