Rumah  >  Artikel  >  rangka kerja php  >  Cara menggunakan rangka kerja Hyperf untuk operasi ORM

Cara menggunakan rangka kerja Hyperf untuk operasi ORM

PHPz
PHPzasal
2023-10-24 12:16:441265semak imbas

Cara menggunakan rangka kerja Hyperf untuk operasi ORM

Cara menggunakan rangka kerja Hyperf untuk operasi ORM

Pengenalan:

#🎜🎜 prestasi berprestasi tinggi rangka kerja , dengan reka bentuk komponen yang fleksibel dan fungsi suntikan pergantungan yang berkuasa. Ia menyediakan pembangun dengan banyak alat dan komponen yang mudah, salah satunya ialah operasi ORM (Pemetaan Perhubungan Objek). Artikel ini akan memperkenalkan cara menggunakan rangka kerja Hyperf untuk operasi ORM dan memberikan contoh kod khusus.

1. Pemasangan dan konfigurasi

Sebelum memulakan, anda perlu memastikan rangka kerja Hyperf telah dipasang Untuk langkah pemasangan tertentu, sila rujuk dokumentasi rasmi Hyperf.

1.1 Pasang tanggungan

Jalankan arahan berikut dalam baris arahan untuk memasang tanggungan untuk operasi pangkalan data:

rreee

1.2 Konfigurasi sambungan pangkalan data#🎜 #

Dalam rangka kerja Hyperf, konfigurasi sambungan pangkalan data terletak dalam fail databases.php dalam direktori config/autoload. Dalam fail ini, anda boleh mengkonfigurasi semua maklumat sambungan pangkalan data, termasuk pangkalan data tuan-hamba, kolam sambungan, dsb.

Berikut ialah contoh konfigurasi pangkalan data yang mudah:

composer require hyperf/model
composer require hyperf/database

2 Tentukan model

Sebelum menggunakan rangka kerja Hyperf untuk operasi ORM, anda terlebih dahulu. perlu menentukan Model. Model ini bersamaan dengan kelas PHP yang sepadan dengan jadual pangkalan data Pangkalan data boleh dikendalikan dengan mudah melalui model. Dalam rangka kerja Hyperf, model perlu mewarisi kelas Hyperf/Model/Model dan menentukan sifat yang sepadan dengan jadual pangkalan data.

Berikut ialah contoh definisi model ringkas:

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' => [
            // ...
        ],
    ],
];

Dalam kod di atas, model bernama Pengguna ditakrifkan, yang sepadan dengan jadual pangkalan data bernama pengguna . Atribut yang sepadan dengan jadual ditakrifkan dalam model, dan atribut yang boleh diberikan nilai dalam kelompok ditentukan.

3. Data pertanyaan

Apabila menggunakan rangka kerja Hyperf untuk operasi ORM, anda boleh menggunakan pembina pertanyaan model untuk membina pernyataan pertanyaan.

Berikut ialah beberapa contoh operasi pertanyaan biasa:

3.1 Tanya semua data

<?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 = [];
}

3.2 Pertanyaan bersyarat#🎜🎜🎜🎜 3.3 Tambah syarat pertanyaan

use AppModelUser;

$users = User::all();

foreach ($users as $user) {
    echo $user->name;
}

3.4 Pertanyaan fungsi pengagregatan

use AppModelUser;

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

echo $user->name;

4 Sisipkan, kemas kini dan padam data

Dalam rangka kerja Canf anda. model create(), kemas kini() dan delete() kaedah untuk memasukkan, mengemas kini dan memadam data.

4.1 Masukkan data

use AppModelUser;

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

echo $user->name;

4.2 Kemas kini data

use AppModelUser;

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

echo $count;

4.3 Padam data

rreee🎜🎜 #

Artikel ini memperkenalkan cara menggunakan rangka kerja Hyperf untuk operasi ORM dan menyediakan contoh kod khusus. Melalui pembina pertanyaan model, kami boleh melakukan operasi penambahan, pemadaman, pengubahsuaian dan pertanyaan dalam pangkalan data dengan mudah. Pada masa yang sama, rangka kerja Hyperf juga menyediakan banyak fungsi berkuasa lain, seperti suntikan pergantungan, dipacu peristiwa, dll., yang boleh meningkatkan lagi kecekapan pembangunan.

Saya harap artikel ini akan membantu anda Jika anda mempunyai sebarang pertanyaan atau cadangan, sila tinggalkan mesej untuk perbincangan. Saya doakan anda berjaya menggunakan rangka kerja Hyperf untuk operasi ORM!

Atas ialah kandungan terperinci Cara menggunakan rangka kerja Hyperf untuk operasi ORM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn