>  기사  >  PHP 프레임워크  >  ORM 작업에 Hyperf 프레임워크를 사용하는 방법

ORM 작업에 Hyperf 프레임워크를 사용하는 방법

PHPz
PHPz원래의
2023-10-24 12:16:441360검색

ORM 작업에 Hyperf 프레임워크를 사용하는 방법

ORM 작업에 Hyperf 프레임워크를 사용하는 방법

소개:

Hyperf는 유연한 구성 요소 설계와 강력한 종속성 주입 기능을 갖춘 고성능 코루틴 프레임워크입니다. 이는 개발자에게 ORM(Object Relational Mapping) 작업과 같은 다양한 편리한 도구와 구성 요소를 제공합니다. 이 기사에서는 ORM 작업에 Hyperf 프레임워크를 사용하는 방법을 소개하고 특정 코드 예제를 제공합니다.

1. 설치 및 구성

시작하기 전에 먼저 Hyperf 프레임워크가 설치되어 있는지 확인해야 합니다. 구체적인 설치 단계는 Hyperf 공식 문서를 참조하세요.

1.1 종속성 설치

명령줄에서 다음 명령을 실행하여 데이터베이스 작업에 대한 종속성을 설치합니다.

composer require hyperf/model
composer require hyperf/database

1.2 데이터베이스 연결 구성

Hyperf 프레임워크에서 데이터베이스 연결 구성은 다음 위치의 Databases.php 파일에 있습니다. config/autoload 디렉토리 . 이 파일에서는 마스터-슬레이브 데이터베이스, 연결 풀 등을 포함한 모든 데이터베이스 연결 정보를 구성할 수 있습니다.

다음은 간단한 데이터베이스 구성 예입니다.

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

2. 모델 정의

ORM 작업에 Hyperf 프레임워크를 사용하기 전에 먼저 모델을 정의해야 합니다. 모델은 데이터베이스 테이블에 해당하는 PHP 클래스와 동일합니다. 모델을 통해 데이터베이스를 쉽게 운영할 수 있습니다. Hyperf 프레임워크에서 모델은 Hyperf/Model/Model 클래스를 상속하고 데이터베이스 테이블에 해당하는 속성을 정의해야 합니다.

다음은 간단한 모델 정의 예입니다.

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

위 코드에서는 users라는 데이터베이스 테이블에 해당하는 User라는 모델이 정의되어 있습니다. 테이블에 해당하는 속성을 모델에 정의하고, 일괄적으로 값을 할당할 수 있는 속성을 지정합니다.

3. 쿼리 데이터

ORM 작업에 Hyperf 프레임워크를 사용하는 경우 모델의 쿼리 빌더를 사용하여 쿼리 문을 작성할 수 있습니다.

다음은 몇 가지 일반적인 쿼리 작업 예입니다.

3.1 모든 데이터 쿼리

use AppModelUser;

$users = User::all();

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

3.2 조건부 쿼리

use AppModelUser;

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

echo $user->name;

3.3 쿼리 조건 추가

use AppModelUser;

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

echo $user->name;

3.4 집계 함수 쿼리

use AppModelUser;

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

echo $count;

4. Hyperf 프레임워크에서는 모델의 create(), update() 및 delete() 메서드를 사용하여 데이터를 삽입, 업데이트 및 삭제할 수 있습니다.

4.1 데이터 삽입

use AppModelUser;

User::create([
    'name' => 'Tom',
    'age' => 20,
    'gender' => 'male',
]);

4.2 데이터 업데이트

use AppModelUser;

$user = User::find(1);

$user->name = 'Jerry';
$user->save();

4.3 데이터 삭제

use AppModelUser;

$user = User::find(1);

$user->delete();

5. 요약

이 문서에서는 ORM 작업에 Hyperf 프레임워크를 사용하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 모델의 쿼리 생성자를 통해 데이터베이스에서 추가, 삭제, 수정 및 쿼리 작업을 쉽게 수행할 수 있습니다. 동시에 Hyperf 프레임워크는 종속성 주입, 이벤트 기반 등과 같은 다른 많은 강력한 기능도 제공하여 개발 효율성을 더욱 향상시킬 수 있습니다.

이 기사가 도움이 되기를 바랍니다. 질문이나 제안 사항이 있으면 언제든지 메시지를 남겨 논의해 주세요. ORM 작업에 Hyperf 프레임워크를 사용하여 성공하길 바랍니다!

위 내용은 ORM 작업에 Hyperf 프레임워크를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.