La cartographie relationnelle des objets (ORM) est une technologie utilisée pour combler les langues orientées objet telles que PHP et des bases de données relationnelles telles que MySQL. Il traite les données dans une base de données d'une manière orientée objet, simplifiant et accélérant ainsi les opérations de données.
ORM utilise des modèles de domaine pour représenter les données dans une base de données. Un modèle de domaine est généralement composé d'objets multiples, dont chacun représente une entité ou un tableau dans la base de données.
ORM fournit un mécanisme de persistance qui permet à des objets d'être persistés dans le stockage dans une base de données. Lorsque l'état de l'objet change, l'ORM synchronisera automatiquement les modifications de la base de données.
ORM fournit une méthode de requête simplifiée qui utilise la terminologie des modèles d'objets au lieu de la syntaxe SQL traditionnelle pour activer les bases de données de requête.
L'ORM est responsable de la cartographie du modèle d'objet vers le modèle de base de données relationnel et de la définition de la façon dont les propriétés de l'objet sont mappées sur les tables, les colonnes et les relations de la base de données.
class User {
// ...
}
// Créer un utilisateur
$user = new User;
$user->name = 'John Doe';
$user->save();
// Lire l'utilisateur
$user = User::find(1);
// Mettre à jour les utilisateurs
$user->name = 'Jane Doe';
$user->save();
// Supprimer les utilisateurs
$user->delete();
ORM soutient également les associations entre les modèles. Par exemple:
class User {
public function posts() {
return $this->hasMany(Post::class);
}
}
class Post {
public function user() {
return $this->belongsTo(User::class);
}
}
Ce qui précède est les principes de base et les applications pratiques de la programmation orientée objet pour implémenter la cartographie relationnelle des objets dans le cadre PHP. En utilisant ORM, les développeurs peuvent facilement implémenter la cartographie des objets des bases de données, simplifier les opérations de données et améliorer l'efficacité de développement.