DoctrineBehaviors
vior 2.3 Released
이 PHP 라이브러리는 Doctrine 엔터티 및 저장소에 동작을 추가하는 특성 및 인터페이스 모음입니다.
현재 다음을 처리합니다.
composer require knplabs/doctrine-behaviors
당신이 해야 할 일은 Doctrine 엔터티를 정의하는 것뿐입니다.
트리와 같은 일부 동작의 경우 저장소 특성을 사용할 수 있습니다.
<?php
declare (strict_types= 1 );
namespace App Repository ;
use Doctrine ORM EntityRepository ;
use Knp DoctrineBehaviors ORM Tree TreeTrait ;
final class CategoryRepository extends EntityRepository
{
use TreeTrait;
}
짜잔!
이제 다음과 같이 작동하는 작업 Category
생겼습니다.
PHPStan 확장을 사용할 수 있으며 다음 기능을 제공합니다.
TranslatableInterface::getTranslations()
및 TranslatableInterface::getNewTranslations()
에 대한 올바른 반환 유형을 제공합니다.TranslatableInterface::translate()
에 대한 올바른 반환 유형을 제공합니다.TranslationInterface::getTranslatable()
에 대한 올바른 반환 유형을 제공합니다. 프로젝트의 PHPStan 구성에 phpstan-extension.neon
포함합니다.
# phpstan.neon
includes :
- vendor/knplabs/doctrine-behaviors/phpstan-extension.neon
풀 요청당 기능 1개
새로운 기능에는 테스트가 필요합니다
테스트 및 정적 분석은 다음을 통과해야 합니다 .
vendor/bin/phpunit
composer fix-cs
composer phpstan
1과 2 사이에 많은 변화가 있었지만 걱정하지 마세요. 이 패키지는 업그레이드를 처리하는 Rector를 사용합니다.
composer require rector/rector --dev
rector.php
구성을 생성합니다:
vendor/bin/rector init
rector.php
에 Doctrine Behaviors 업그레이드 세트를 추가합니다.
use Rector Core Configuration Option ;
use Symfony Component DependencyInjection Loader Configurator ContainerConfigurator ;
use Rector Doctrine Set DoctrineSetList ;
return static function ( ContainerConfigurator $ containerConfigurator ): void {
$ containerConfigurator -> import (DoctrineSetList:: DOCTRINE_BEHAVIORS_20 );
};
렉터 실행:
vendor/bin/rector process src