このパッケージには、Doctrine をより効率的に使用するための新しい機能やツールを提供する Doctrine ORM および MongoDB ODM の拡張機能が含まれています。これらの動作は Doctrine のイベント システムに簡単にアタッチでき、フラッシュされるレコードを動作的な方法で処理できます。
3.0 は、このパッケージを現在の PHP に合わせて更新することに重点を置いています。これには以下が含まれます:
詳細については、アップグレードに関するドキュメントをお読みください。
composer require gedmo/doctrine-extensions
すべての拡張機能は、 Attribute 、 XML 、およびAnnotation (非推奨) マッピングをサポートしています。マッピング拡張機能を使用して追加のマッピング ドライバーを簡単に実装し、追加のメタデータ マッピングを処理できます。
^3.2
(すべての拡張機能の場合) または^4.0
( Loggableを除くすべての拡張機能の場合)^2.14
または^3.0
^2.3
フレームワークを使用せずにエンティティ マネージャーをセットアップしている場合は、#1310 のような問題を防ぐ例を参照してください。
XML マッピングは別の名前空間に存在する必要があります。Doctrine 拡張機能の宣言された名前空間は http://gediminasm.org/schemas/orm/doctrine-extensions-mapping です。そのため、ルート ノードは次のようになります。
< doctrine-mapping xmlns = " http://doctrine-project.org/schemas/orm/doctrine-mapping "
xmlns : gedmo = " http://gediminasm.org/schemas/orm/doctrine-extensions-mapping " >
...
</ doctrine-mapping >
XML マッピング xsd スキーマもバージョン管理されており、バージョン接尾辞によって使用できます。
テストを設定して実行するには、次の手順に従います。
docker compose
あることを確認しますdocker compose up -d
を実行してコンテナをデーモン モードで起動します。docker compose exec php bash
経由でコンテナーに入ります (現在はルート ディレクトリ/var/www
にいます)。composer install
経由で Composer の依存関係をインストールするvendor/bin/phpunit
サンプルを設定して実行するには、次の手順に従います。
composer install
example/em.php
を編集し、ファイル上にデータベースを構成しますphp example/bin/console
またはコンソールコマンドの場合はphp example/bin/console
php example/bin/console orm:schema-tool:create
でスキーマを作成しますphp example/bin/console app:print-category-translation-tree
例を実行してカテゴリ変換ツリーを印刷しますこれらの素晴らしい Doctrine 拡張機能の開発に参加してくださった皆様に感謝します。
特に、新しい拡張機能を作成して保守する人は次のとおりです。