Maison > cadre php > Swoole > le corps du texte

Comment utiliser le framework Hyperf pour les opérations ORM

PHPz
Libérer: 2023-10-24 12:16:44
original
1347 Les gens l'ont consulté

Comment utiliser le framework Hyperf pour les opérations ORM

Comment utiliser le framework Hyperf pour les opérations ORM

Introduction :

Hyperf est un framework de coroutine hautes performances avec une conception de composants flexible et de puissantes capacités d'injection de dépendances. Il fournit aux développeurs de nombreux outils et composants pratiques, dont les opérations ORM (Object Relational Mapping). Cet article explique comment utiliser le framework Hyperf pour les opérations ORM et fournit des exemples de code spécifiques.

1. Installation et configuration

Avant de commencer, vous devez d'abord vous assurer que le framework Hyperf a été installé. Pour les étapes d'installation spécifiques, veuillez vous référer à la documentation officielle d'Hyperf.

1.1 Installer les dépendances

Exécutez la commande suivante dans la ligne de commande pour installer les dépendances pour les opérations de base de données :

composer require hyperf/model
composer require hyperf/database
Copier après la connexion

1.2 Configurer la connexion à la base de données

Dans le framework Hyperf, la configuration de la connexion à la base de données se trouve dans le fichier databases.php dans le répertoire config/autoload. Dans ce fichier, vous pouvez configurer toutes les informations de connexion à la base de données, y compris la base de données maître-esclave, le pool de connexions, etc.

Ce qui suit est un exemple simple de configuration de base de données :

return [
    'default' => [
        'driver' => env('DB_DRIVER', 'mysql'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', 3306),
        'database' => env('DB_DATABASE', 'test'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', 'password'),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'pool' => [
            'min_connections' => 1,
            'max_connections' => 10,
            'connect_timeout' => 10.0,
            'wait_timeout' => 3.0,
            'heartbeat' => -1,
            'max_idle_time' => (float) env('DB_MAX_IDLE_TIME', 60),
        ],
        'options' => [
            // ...
        ],
    ],
];
Copier après la connexion

2. Définir le modèle

Avant d'utiliser le framework Hyperf pour les opérations ORM, vous devez d'abord définir le modèle. Le modèle est équivalent à une classe PHP correspondant à la table de la base de données. La base de données peut être facilement exploitée via le modèle. Dans le framework Hyperf, les modèles doivent hériter de la classe Hyperf/Model/Model et définir les propriétés correspondant à la table de la base de données.

Ce qui suit est un exemple simple de définition de modèle :

<?php

declare (strict_types=1);

namespace AppModel;

use HyperfDbConnectionModelModel;

/**
 * @property int $id
 * @property string $name
 * @property int $age
 * @property string $gender
 */
class User extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'users';

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = ['name', 'age', 'gender'];

    /**
     * The attributes excluded from the model's JSON form.
     *
     * @var array
     */
    protected $hidden = [];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [];
}
Copier après la connexion

Dans le code ci-dessus, un modèle nommé User est défini, qui correspond à la table de base de données nommée users. Les attributs correspondant au tableau sont définis dans le modèle et les attributs pouvant se voir attribuer des valeurs par lots sont spécifiés.

3. Requête de données

Lorsque vous utilisez le framework Hyperf pour les opérations ORM, vous pouvez utiliser le générateur de requêtes du modèle pour créer des instructions de requête.

Voici quelques exemples d'opérations de requête courantes :

3.1 Interroger toutes les données

use AppModelUser;

$users = User::all();

foreach ($users as $user) {
    echo $user->name;
}
Copier après la connexion

3.2 Requête conditionnelle

use AppModelUser;

$user = User::where('age', '>', 18)->first();

echo $user->name;
Copier après la connexion

3.3 Ajouter des conditions de requête

use AppModelUser;

$user = User::where('age', '>', 18)
    ->orWhere('gender', 'female')
    ->orderBy('age', 'desc')
    ->first();

echo $user->name;
Copier après la connexion

3.4 Requête de fonction d'agrégation

use AppModelUser;

$count = User::where('age', '>', 18)->count();

echo $count;
Copier après la connexion

4. Insérer, mettre à jour et supprimer des données

. Dans le framework Hyperf, vous pouvez utiliser les méthodes create(), update() et delete() du modèle pour insérer, mettre à jour et supprimer des données.

4.1 Insérer des données

use AppModelUser;

User::create([
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male',
]);
Copier après la connexion

4.2 Mettre à jour les données

use AppModelUser;

$user = User::find(1);

$user->name = 'Jerry';
$user->save();
Copier après la connexion

4.3 Supprimer des données

use AppModelUser;

$user = User::find(1);

$user->delete();
Copier après la connexion

5. Résumé

Cet article présente comment utiliser le framework Hyperf pour les opérations ORM et fournit des exemples de code spécifiques. Grâce au générateur de requêtes du modèle, nous pouvons facilement effectuer des opérations d'ajout, de suppression, de modification et de requête dans la base de données. Dans le même temps, le framework Hyperf fournit également de nombreuses autres fonctions puissantes, telles que l'injection de dépendances, les événements, etc., qui peuvent encore améliorer l'efficacité du développement.

J'espère que cet article vous sera utile. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un message pour en discuter. Je vous souhaite du succès dans l'utilisation du framework Hyperf pour les opérations ORM !

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