> PHP 프레임워크 > ThinkPHP > ThinkPHP6에서 비즈니스 계층을 단순화하기 위해 Eloquent를 사용하는 방법

ThinkPHP6에서 비즈니스 계층을 단순화하기 위해 Eloquent를 사용하는 방법

PHPz
풀어 주다: 2023-06-21 15:02:34
원래의
754명이 탐색했습니다.

인터넷의 발달과 함께 웹 애플리케이션의 개발은 현대 소프트웨어 개발의 핵심이 되었습니다. 비즈니스 로직의 복잡성으로 인해 개발자는 코드를 단순화하고 효율성을 향상시키기 위해 많은 도구와 기술이 필요합니다. 이런 점에서 Eloquent ORM을 사용하면 비즈니스 계층 코드를 크게 단순화할 수 있습니다. 이 기사에서는 ThinkPHP6에서 Eloquent를 사용하여 비즈니스 계층을 단순화하는 방법을 소개합니다.

엘로퀀트란 무엇인가요?

Eloquent는 Laravel에서 개발한 강력한 ORM(Object Relational Mapping) 도구입니다. 개발자는 복잡한 SQL 문을 작성하지 않고도 간결하고 직관적인 구문을 통해 데이터베이스를 운영할 수 있습니다. Eloquent는 데이터 테이블의 데이터를 해당 PHP 객체에 자동으로 매핑하여 개발자가 객체 지향 프로그래밍(OOP) 방식으로 데이터를 처리할 수 있도록 합니다.

ThinkPHP6에서 Eloquent 사용

ThinkPHP6에서는 Laravel 프레임워크의 ORM 구성 요소를 설치하여 Eloquent를 사용할 수 있습니다. Eloquent를 사용하는 단계는 다음과 같습니다.

  1. Laravel 프레임워크의 ORM 구성 요소를 설치합니다.

Laravel 프레임워크의 ORM 구성 요소를 설치하려면 터미널에 다음 명령을 입력합니다.

composer require illuminate/database
로그인 후 복사
  1. 데이터베이스 연결 구성

/config/database.php에서 파일에 데이터베이스 연결을 설정합니다. 예:

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'url' => env('DATABASE_URL'),
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],
],
로그인 후 복사
  1. 해당 모델 클래스를 생성합니다

/app/Models 폴더에 해당 모델 클래스를 생성합니다. 예를 들어 "users"라는 데이터 테이블이 있는 경우 다음 코드를 사용하여 "User"라는 모델 클래스를 생성할 수 있습니다.

namespace appmodels;

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    //指定表名
    protected $table = 'users';

    //指定主键
    protected $primaryKey = 'id';

    //是否使用自增主键
    public $incrementing = true;

    //是否需要自动维护时间戳
    public $timestamps = true;
}
로그인 후 복사

위 코드에서 "$table"은 모델 클래스에 해당하는 테이블 이름을 지정합니다. , "$ "primaryKey"는 기본 키 이름을 지정하고, "$incrementing"은 자동 증가 기본 키를 사용할지 여부를 지정하고, "$timestamps"는 타임스탬프의 자동 유지 관리가 필요한지 여부를 지정합니다.

  1. 컨트롤러에서 Eloquent 사용

컨트롤러에서는 다음과 같은 방법으로 Eloquent를 사용할 수 있습니다.

...

use appmodelsUser;

class UserController extends Controller
{
    public function index()
    {
        $users = User::where('status', '=', 1)
                    ->orderBy('name')
                    ->get();

        return view('user.index', ['users' => $users]);
    }

    public function show($id)
    {
        $user = User::find($id);

        return view('user.show', ['user' => $user]);
    }

    ...
}
로그인 후 복사

위 코드에서는 "where" 메소드를 사용하여 쿼리 조건을 추가하고 "orderBy" 메소드를 사용합니다. 정렬 조건을 추가하고 "get" 메소드를 사용하여 쿼리를 실행합니다. 또한 "find" 메소드를 사용하여 기본 키에 따라 지정된 레코드를 찾습니다.

요약

이 기사에서는 ThinkPHP6에서 Eloquent를 사용하여 비즈니스 계층 코드를 단순화하는 방법을 소개했습니다. Eloquent를 사용하면 객체 지향 접근 방식을 사용하여 데이터를 처리하고 복잡한 SQL 문 작성을 방지하며 코드의 가독성과 유지 관리성을 향상시킬 수 있습니다. Eloquent에 대해 더 자세히 알고 싶으시면 Laravel 공식 문서(https://laravel.com/docs/8.x/eloquent)를 참고하세요.

위 내용은 ThinkPHP6에서 비즈니스 계층을 단순화하기 위해 Eloquent를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿