Maison développement back-end tutoriel php Comment utiliser Doctrine ORM pour les opérations de base de données dans le framework Symfony

Comment utiliser Doctrine ORM pour les opérations de base de données dans le framework Symfony

Jul 29, 2023 pm 04:13 PM
symfony 数据库操作 doctrine orm

Comment utiliser Doctrine ORM pour les opérations de base de données dans le framework Symfony

Citation :
Le framework Symfony est un framework PHP populaire qui fournit de nombreux outils et composants puissants pour créer des applications Web rapidement et facilement. L'un des composants clés est Doctrine ORM, qui fournit un moyen élégant de gérer les opérations de base de données.

Cet article présentera en détail comment utiliser Doctrine ORM pour effectuer des opérations de base de données dans le framework Symfony. Nous aborderons les sujets suivants :

  1. Configuration de Doctrine ORM
  2. Classes d'entités et mappage de bases de données
  3. Exécution d'opérations CRUD
  4. Générateur de requêtes et requêtes DQL

1. Configuration de Doctrine ORM
Pour utiliser Doctrine ORM dans Symfony, nous d'abord vous devez installer le Doctrine Bundle. Exécutez la commande suivante dans le terminal :

composer require doctrine/doctrine-bundle
Copier après la connexion

Une fois l'installation terminée, nous devons configurer les informations de connexion de Doctrine. Ajoutez ce qui suit au fichier .env : .env文件中添加以下内容:

DATABASE_URL=mysql://username:password@127.0.0.1:3306/db_name
Copier après la connexion

usernamepassworddb_name替换为你自己的数据库连接信息。

然后,打开config/packages/doctrine.yaml文件,添加以下配置:

doctrine:
    dbal:
        url: '%env(resolve:DATABASE_URL)%'
        driver: 'pdo_mysql'
        charset: utf8mb4
    orm:
        auto_generate_proxy_classes: true
        naming_strategy: doctrine.orm.naming_strategy.underscore
        auto_mapping: true
Copier après la connexion

二、实体类和数据库映射
Doctrine ORM使用实体类来代表数据库中的表。我们需要为每个表创建一个实体类,并将其与数据库进行映射。

首先,创建一个名为src/Entity的目录。在该目录中创建一个名为User.php的文件,并添加以下内容:

namespace AppEntity;

use DoctrineORMMapping as ORM;

/**
 * @ORMEntity
 * @ORMTable(name="users")
 */
class User
{
    /**
     * @ORMId
     * @ORMGeneratedValue(strategy="AUTO")
     * @ORMColumn(type="integer")
     */
    private $id;

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

    // 添加其他属性和方法...

    // Getter和Setter方法...

    // 其他业务逻辑...
}
Copier après la connexion

在上面的例子中,我们创建了一个名为User的实体类,并将其与users表进行了映射。id属性被定义为自动生成的主键,name

public function create()
{
    $entityManager = $this->getDoctrine()->getManager();

    $user = new User();
    $user->setName('John Doe');

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

    return new Response('User created!');
}
Copier après la connexion

Remplacez username, password et db_name par votre propre base de données informations de connexion.


Ensuite, ouvrez le fichier config/packages/doctrine.yaml et ajoutez la configuration suivante :

public function read($id)
{
    $entityManager = $this->getDoctrine()->getManager();

    $user = $entityManager->getRepository(User::class)->find($id);

    if (!$user) {
        throw $this->createNotFoundException('User not found!');
    }

    return new Response('User name: ' . $user->getName());
}
Copier après la connexion

2. Classes d'entités et mappage de base de données

Doctrine ORM utilise des classes d'entités pour représenter les tables de la base de données. Nous devons créer une classe d'entité pour chaque table et la mapper avec la base de données.

Tout d'abord, créez un répertoire nommé src/Entity. Créez un fichier appelé User.php dans ce répertoire et ajoutez le contenu suivant :

public function update($id)
{
    $entityManager = $this->getDoctrine()->getManager();

    $user = $entityManager->getRepository(User::class)->find($id);

    if (!$user) {
        throw $this->createNotFoundException('User not found!');
    }

    $user->setName('Jane Doe');

    $entityManager->flush();

    return new Response('User updated!');
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons créé un fichier appelé User Entity class et l'avons mappé à la table utilisateurs. L'attribut id est défini comme une clé primaire générée automatiquement et l'attribut name est une chaîne.

3. Effectuer des opérations CRUD

Doctrine ORM fournit de nombreuses méthodes simples pour effectuer des opérations CRUD (créer, lire, mettre à jour et supprimer).

Créer une nouvelle entité :

public function delete($id)
{
    $entityManager = $this->getDoctrine()->getManager();

    $user = $entityManager->getRepository(User::class)->find($id);

    if (!$user) {
        throw $this->createNotFoundException('User not found!');
    }

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

    return new Response('User deleted!');
}
Copier après la connexion

Lire l'entité :

public function findByName($name)
{
    $entityManager = $this->getDoctrine()->getManager();

    $queryBuilder = $entityManager->createQueryBuilder();
    $queryBuilder->select('u')
        ->from(User::class, 'u')
        ->where('u.name = :name')
        ->setParameter('name', $name);

    $users = $queryBuilder->getQuery()->getResult();

    return new Response('Users found: ' . count($users));
}
Copier après la connexion

Mettre à jour l'entité :

public function findByAge($age)
{
    $entityManager = $this->getDoctrine()->getManager();

    $query = $entityManager->createQuery(
        'SELECT u FROM AppEntityUser u WHERE u.age > :age'
    )->setParameter('age', $age);

    $users = $query->getResult();

    return new Response('Users found: ' . count($users));
}
Copier après la connexion

Supprimer l'entité :rrreee🎜4. Générateur de requêtes et requête DQL🎜En plus des opérations CRUD de base, nous pouvons également utiliser la création de requêtes et DQL. (Doctrine Query Language) pour exécuter des requêtes complexes. 🎜🎜Exemple de générateur de requêtes : 🎜rrreee 🎜Exemple de requête DQL : 🎜rrreee🎜Conclusion : 🎜L'utilisation de Doctrine ORM dans le framework Symfony pour les opérations de base de données est très simple et efficace. Cet article explique comment configurer Doctrine ORM, créer des classes d'entités, effectuer des opérations CRUD et utiliser des générateurs de requêtes et des requêtes DQL. J'espère que cet article pourra vous aider à mieux utiliser Symfony et Doctrine ORM pour développer des applications Web de haute qualité. 🎜

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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Pagoda Panel pour la gestion MySQL Comment utiliser Pagoda Panel pour la gestion MySQL Jun 21, 2023 am 09:44 AM

Pagoda Panel est un logiciel de panel puissant qui peut nous aider à déployer, gérer et surveiller rapidement des serveurs, en particulier les petites entreprises ou les utilisateurs individuels qui ont souvent besoin de créer des sites Web, de gérer des bases de données et de maintenir des serveurs. Parmi ces tâches, la gestion des bases de données MySQL constitue dans de nombreux cas une tâche importante. Alors comment utiliser le panel Pagoda pour la gestion MySQL ? Ensuite, nous le présenterons étape par étape. Étape 1 : Installez Pagoda Panel. Avant de commencer à utiliser Pagoda Panel pour la gestion MySQL, vous devez d'abord installer Pagoda Panel.

Comment utiliser des scripts PHP pour effectuer des opérations de base de données dans un environnement Linux Comment utiliser des scripts PHP pour effectuer des opérations de base de données dans un environnement Linux Oct 05, 2023 pm 03:48 PM

Comment utiliser PHP pour effectuer des opérations de base de données dans un environnement Linux. Dans les applications Web modernes, la base de données est un composant essentiel. PHP est un langage de script côté serveur populaire qui peut interagir avec diverses bases de données. Cet article explique comment utiliser les scripts PHP pour les opérations de base de données dans un environnement Linux et fournit des exemples de code spécifiques. Étape 1 : installer les logiciels et les dépendances nécessaires Avant de commencer, nous devons nous assurer que PHP et les dépendances associées sont installés dans l'environnement Linux. Normalement

Développer un système CRM efficace en utilisant le framework PHP Symfony Développer un système CRM efficace en utilisant le framework PHP Symfony Jun 27, 2023 pm 04:17 PM

Avec le développement rapide des technologies de l’information, les systèmes de gestion d’entreprise deviennent de plus en plus populaires. Parmi eux, le système de gestion de la relation client (CRM) est un système de gestion d'entreprise très populaire. L’un des plus grands défis auxquels sont confrontées les entreprises aujourd’hui est de savoir comment gérer efficacement les relations clients. Développer un système CRM efficace est devenu la tâche essentielle du développement d’une entreprise. Cet article présentera comment utiliser le framework PHP Symfony, combiné à ses riches fonctions et documentation, pour développer un système CRM efficace. 1. Comprendre le framework Symfony Symfony est un

Comment utiliser le framework Symfony en PHP Comment utiliser le framework Symfony en PHP Jun 27, 2023 am 11:16 AM

Symfony est un framework d'applications Web réutilisable et performant basé sur le langage PHP. Il est utilisé pour créer des applications et des services Web de haute qualité et fournit plusieurs fonctionnalités et outils pour simplifier le processus de développement. L'objectif de Symfony est de rendre le développement Web plus utilisable, réutilisable et efficace. Il s'agit d'un framework open source qui suit les meilleures pratiques d'ingénierie logicielle. Pour les développeurs PHP, le framework Symfony est un très bon choix car il offre une flexibilité riche et puissante pour

Déployer Symfony avec Docker : commencez à développer rapidement Déployer Symfony avec Docker : commencez à développer rapidement Oct 20, 2023 pm 12:19 PM

Déployer Symfony à l'aide de Docker : démarrez le développement rapidement Introduction : Avec le développement rapide de la technologie de cloud computing et de conteneurisation, Docker est devenu l'un des outils préférés des développeurs pour déployer et gérer des applications. Symfony, en tant que framework PHP populaire, peut également être déployé via Docker, ce qui simplifie grandement le processus de développement et de déploiement. Cet article explique comment utiliser Docker pour déployer des applications Symfony et fournit des exemples de code spécifiques. Étape 1 : Installer Docke

Un guide avancé de l'architecture PHP MVC : débloquer des fonctionnalités avancées Un guide avancé de l'architecture PHP MVC : débloquer des fonctionnalités avancées Mar 03, 2024 am 09:23 AM

L'architecture MVC (Model-View-Controller) est l'un des modèles les plus populaires dans le développement PHP car elle fournit une structure claire pour organiser le code et simplifier le développement d'applications WEB. Bien que les principes de base de MVC soient suffisants pour la plupart des applications Web, ils présentent certaines limites pour les applications qui doivent gérer des données complexes ou implémenter des fonctionnalités avancées. Séparation de la couche modèle La séparation de la couche modèle est une technique courante dans l'architecture MVC avancée. Cela implique de diviser une classe de modèle en sous-classes plus petites, chacune se concentrant sur une fonctionnalité spécifique. Par exemple, pour une application de commerce électronique, vous pouvez diviser la classe de modèle principale en un modèle de commande, un modèle de produit et un modèle client. Cette séparation contribue à améliorer la maintenabilité et la réutilisation du code. Utiliser l'injection de dépendances

Étapes pour mettre en œuvre la gestion des droits des utilisateurs à l'aide du framework Symfony Étapes pour mettre en œuvre la gestion des droits des utilisateurs à l'aide du framework Symfony Jul 29, 2023 pm 11:33 PM

Étapes pour mettre en œuvre la gestion des droits des utilisateurs à l'aide du framework Symfony Le framework Symfony est un puissant framework de développement PHP qui peut être utilisé pour développer rapidement des applications Web de haute qualité. Lors du développement d’applications Web, la gestion des droits des utilisateurs est un élément important qui ne peut être ignoré. Cet article présentera les étapes de mise en œuvre de la gestion des droits des utilisateurs à l'aide du framework Symfony, avec des exemples de code. Étape 1 : Installer le framework Symfony Tout d'abord, nous devons installer le framework Symfony dans l'environnement local. peut passer

Middleware du framework Symfony : fournit des fonctions de gestion des erreurs et des exceptions Middleware du framework Symfony : fournit des fonctions de gestion des erreurs et des exceptions Jul 28, 2023 pm 01:45 PM

Middleware du framework Symfony : fournit des fonctions de gestion des erreurs et des exceptions. Lorsque nous développons des applications, nous rencontrons souvent des erreurs et des exceptions. Afin d'optimiser l'expérience utilisateur et de fournir de meilleurs outils de développement, le framework Symfony fournit de puissantes fonctions de gestion des erreurs et des exceptions. Dans cet article, nous présenterons l'utilisation du middleware du framework Symfony et des exemples de code. Les fonctions de gestion des erreurs et des exceptions du framework Symfony sont principalement implémentées via un middleware. Le middleware est un composant fonctionnel spécial utilisé dans

See all articles