Laravel Doctrine:Eloquent
に代わる強力なORM この記事では、Laravel-Relational Mapper(ORM)であるLaravel Doctrineを調査します。Laravel5.x以降の雄弁の魅力的な代替品を提供します。その利点、インストール、エンティティ定義、CRUD操作、およびCore Laravel機能とのシームレスな統合を調べます。
EntityManager
composer create-project laravel/laravel Project
composer require "laravel-doctrine/orm:1.1.*"
サービスプロバイダーの登録:LaravelDoctrineORMDoctrineServiceProvider::class
config/app.php
Facadesを登録(オプションですが推奨):providers
config/app.php
aliases
設定ファイルを公開:'EntityManager' => LaravelDoctrine\ORM\Facades\EntityManager::class, 'Registry' => LaravelDoctrine\ORM\Facades\Registry::class, 'Doctrine' => LaravelDoctrine\ORM\Facades\Doctrine::class,
php artisan vendor:publish --tag="config"
の例アプリケーション:単純なTo Doリスト
このセクションでは、基本的なTo Doリストアプリケーションを通じてDoctrineの使用法を示しています。 エンティティ:
a
エンティティは、教義の注釈を持つプレーンPHPクラスとして定義されています:
アノテーションは、データベース列にクラスのプロパティをマップします。 エンティティを定義した後、データベーススキーマを生成します:Task
<?php namespace TodoList\Entities; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="tasks") */ class Task { // ... (Entity properties with ORM annotations) ... }
php artisan doctrine:schema:create
は永続性を処理します。 タスクを追加するには:
タスクの取得:
EntityManager
タスクステータスの追加、編集、削除、および切り替えを含む、完全なto-doリストアプリケーションについては、元の記事で詳しく説明しています。 これには、データベースの相互作用のための
$task = new Task('Task Name', 'Task Description'); EntityManager::persist($task); EntityManager::flush();
$task = EntityManager::find(Task::class, 1);
EntityManager
Laravel Doctrineは、雄弁に強力で柔軟な代替品を提供し、特に抽象化、テスト可能性、保守性を必要とする複雑なアプリケーションに特に有益です。 Laravelのコア機能とのシームレスな統合により、堅牢なORMソリューションを要求するプロジェクトの強力な競争相手になります。 元の記事では、Laravel Doctrineを使用した本格的なTo Doリストアプリケーションの構築に関する包括的なチュートリアルを提供し、その機能と使いやすさを示しています。
Repository
元の記事には、設置、エンティティの定義、CRUD操作、Laravelの認証、検証、ページネーション、イベント、キャッシュ、および移行システムをカバーする包括的なFAQセクションが既に含まれています。 詳細な回答については、そのセクションを参照してください。
以上がLaravel Doctrine-両方の世界のベスト?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。