이 패키지에는 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프레임워크 없이 Entity Manager를 설정하는 경우 #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 installexample/em.php 편집하고 파일 위에 데이터베이스를 구성하십시오.php example/bin/console 또는 콘솔 명령의 경우 php example/bin/consolephp example/bin/console orm:schema-tool:create 스키마 생성php example/bin/console app:print-category-translation-tree 카테고리 번역 트리를 인쇄하는 예제를 실행합니다.이 훌륭한 Doctrine 확장판 개발에 참여하는 모든 분들께 감사드립니다!
특히 새로운 확장 기능을 만들고 유지하는 사람들은 다음과 같습니다.