Eloquent を使用して ThinkPHP6 のビジネス層を簡素化する方法

PHPz
リリース: 2023-06-21 15:02:34
オリジナル
711 人が閲覧しました

インターネットの発展に伴い、Web アプリケーションの開発は現代のソフトウェア開発の中核となっています。ビジネス ロジックは複雑であるため、開発者はコードを簡素化し、効率を向上させるために多くのツールとテクノロジを必要とします。この点で、Eloquent ORM を使用すると、ビジネス層のコードを大幅に簡素化できます。この記事では、ThinkPHP6 で Eloquent を使用してビジネス層を簡素化する方法を紹介します。

Eloquentとは何ですか?

Eloquent は、Laravel によって開発された強力な ORM (オブジェクト リレーショナル マッピング) ツールです。これにより、開発者は複雑な SQL ステートメントを作成することなく、簡潔で直感的な構文を通じてデータベースを操作できるようになります。 Eloquent は、データ テーブル内のデータを対応する PHP オブジェクトに自動的にマッピングするため、開発者はオブジェクト指向プログラミング (OOP) 方式でデータを処理できます。

ThinkPHP6 での Eloquent の使用

ThinkPHP6 では、Laravel フレームワークの ORM コンポーネントをインストールすることで Eloquent を使用できます。 Eloquent を使用する手順は次のとおりです。

  1. Laravel フレームワークの ORM コンポーネントをインストールします

ターミナルに次のコマンドを入力して、Laravel の ORM コンポーネントをインストールします。 Framework:

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,
    ],
],
ログイン後にコピー

    対応するモデル クラスを作成します
/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」はタイムスタンプの自動メンテナンスが必要かどうかを指定します。

    コントローラーでの 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) を参照してください。

以上がEloquent を使用して ThinkPHP6 のビジネス層を簡素化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!